Bases de Hector & Cassandra
Je travaille avec Cassandra-0.8.2.
Je travaille avec la version la plus récente d'Hector, &
Ma version de java est 1.6.0_26
Je suis très nouveau pour Cassandra & Hector.
Ce que je suis en train de faire:
1. se connecter à un & instance en cours d'exécution de cassandra sur un serveur différent. Je sais qu'il tourne en b/c je peux ssh par le biais de mon terminal sur le serveur de l'exécution de cette instance de Cassandra et exécuter la CLI avec la pleine fonctionnalité.
2. alors je veux me connecter à un espace & créer une famille de colonne, puis d'ajouter une valeur à la colonne de la famille par le biais de Hector.
Je pense que mon problème est que cette instance en cours d'exécution de Cassandra sur ce serveur peut ne pas être configuré pour obtenir des commandes qui ne sont pas locaux. Je pense que ma prochaine étape sera d'ajouter une instance locale de Cassandra sur le cpu je suis en train de travailler sur et essayer de le faire localement. Qu'en pensez-vous?
Voici mon code 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"));
}
}
Mon ERREUR est:
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
Je vous remercie d'avance pour votre aide.
Keyspace apples does not exist
?.OriginalL'auteur Henry | 2011-08-04
Vous devez vous connecter pour publier un commentaire.
L'exception que vous obtenez est,
Dans votre code, cette ligne ne sont pas réellement créer l'espace de clé,
Comme décrit ici, c'est le code que vous devez définir vos clés,
vous obtenez une erreur du compilateur? pouvez-vous ajouter la ligne int replicationfactor = 1;
Merci, j'ai compris mon problème!
Quelle est la différence entre createKeyspace et createKeyspaceDefinition? Pourquoi voudriez-vous d'un Espace objet au lieu d'une KeyspaceDefinition?
OriginalL'auteur sbridges
Nous avons également un guide de mise en route sur le wiki qui pourraient être d'une aide.
OriginalL'auteur zznate