que programar programa estudiar ejemplos definicion comandos basicos basico java cassandra hector

java - programar - Conceptos básicos de Hector y Cassandra



programa en java basico (2)

La excepción que estás recibiendo es

why:Keyspace apples does not exist

En su código, esta línea en realidad no crea el espacio de claves,

Keyspace keyspace = HFactory.createKeyspace("apples", cluster);

Como se describe aquí , este es el código que necesita para definir su espacio de claves,

ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition("MyKeyspace", "ColumnFamilyName", ComparatorType.BYTESTYPE); KeyspaceDefinition newKeyspace = HFactory.createKeyspaceDefinition("MyKeyspace", ThriftKsDef.DEF_STRATEGY_CLASS, replicationFactor, Arrays.asList(cfDef)); // Add the schema to the cluster. // "true" as the second param means that Hector will block until all nodes see the change. cluster.addKeyspace(newKeyspace, true);

Estoy trabajando con Cassandra-0.8.2. Estoy trabajando con la versión más reciente de Hector y mi versión de Java es 1.6.0_26

Soy muy nuevo para Cassandra y Hector.

Lo que estoy tratando de hacer: 1. conectarse a una instancia activa de cassandra en un servidor diferente. Sé que se está ejecutando b / c. Puedo enviar mi terminal al servidor que ejecuta esta instancia de Cassandra y ejecutar la CLI con funcionalidad completa. 2. luego quiero conectarme a un espacio de claves y crear una familia de columnas y luego agregar un valor a esa familia de columnas a través de Hector.

Creo que mi problema es que esta instancia en ejecución de Cassandra en este servidor podría no estar configurada para obtener comandos que no sean locales. Creo que mi próximo paso será agregar una instancia local de Cassandra en la CPU en la que estoy trabajando e intentar hacer esto localmente. ¿Qué piensas?

Aquí está mi código de Java:

import me.prettyprint.cassandra.serializers.StringSerializer; import me.prettyprint.cassandra.service.CassandraHostConfigurator; import me.prettyprint.hector.api.Cluster; import me.prettyprint.hector.api.Keyspace; import me.prettyprint.hector.api.ddl.ColumnFamilyDefinition; import me.prettyprint.hector.api.ddl.ComparatorType; import me.prettyprint.hector.api.factory.HFactory; import me.prettyprint.hector.api.mutation.Mutator; public class MySample { public static void main(String[] args) { Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "xxx.xxx.x.41:9160"); Keyspace keyspace = HFactory.createKeyspace("apples", cluster); ColumnFamilyDefinition cf = HFactory.createColumnFamilyDefinition("apples","ColumnFamily2",ComparatorType.UTF8TYPE); StringSerializer stringSerializer = StringSerializer.get(); Mutator<String> mutator = HFactory.createMutator(keyspace, stringSerializer); mutator.insert("jsmith", "Standard1", HFactory.createStringColumn("first", "John")); } }

Mi ERROR es:

16:22:19,852 INFO CassandraHostRetryService:37 - Downed Host Retry service started with queue size -1 and retry delay 10s 16:22:20,136 INFO JmxMonitor:54 - Registering JMX me.prettyprint.cassandra.service_Test Cluster:ServiceType=hector,MonitorType=hector Exception in thread "main" me.prettyprint.hector.api.exceptions.HInvalidRequestException: InvalidRequestException(why:Keyspace apples does not exist) at me.prettyprint.cassandra.connection.HThriftClient.getCassandra(HThriftClient.java:70) at me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:226) at me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:131) at me.prettyprint.cassandra.service.KeyspaceServiceImpl.batchMutate(KeyspaceServiceImpl.java:102) at me.prettyprint.cassandra.service.KeyspaceServiceImpl.batchMutate(KeyspaceServiceImpl.java:108) at me.prettyprint.cassandra.model.MutatorImpl$3.doInKeyspace(MutatorImpl.java:222) at me.prettyprint.cassandra.model.MutatorImpl$3.doInKeyspace(MutatorImpl.java:219) at me.prettyprint.cassandra.model.KeyspaceOperationCallback.doInKeyspaceAndMeasure(KeyspaceOperationCallback.java:20) at me.prettyprint.cassandra.model.ExecutingKeyspace.doExecute(ExecutingKeyspace.java:85) at me.prettyprint.cassandra.model.MutatorImpl.execute(MutatorImpl.java:219) at me.prettyprint.cassandra.model.MutatorImpl.insert(MutatorImpl.java:59) at org.cassandra.examples.MySample.main(MySample.java:25) Caused by: InvalidRequestException(why:Keyspace apples does not exist) at org.apache.cassandra.thrift.Cassandra$set_keyspace_result.read(Cassandra.java:5302) at org.apache.cassandra.thrift.Cassandra$Client.recv_set_keyspace(Cassandra.java:481) at org.apache.cassandra.thrift.Cassandra$Client.set_keyspace(Cassandra.java:456) at me.prettyprint.cassandra.connection.HThriftClient.getCassandra(HThriftClient.java:68) ... 11 more

Gracias de antemano por su ayuda.


También tenemos una guía de inicio en la wiki que podría ser de alguna ayuda.