2015-07-30 7 views
0

Я пытаюсь использовать базовое определение Гектора для создания кластера Cassandra. Это мой код (только часть соединения и схемы).Создание кластера Hector в Java

CassandraHostConfigurator chc = new CassandraHostConfigurator(
     "localhost"); 
    chc.setMaxActive(20); 
    chc.setCassandraThriftSocketTimeout(3000); 
    chc.setMaxWaitTimeWhenExhausted(4000);  
    Cluster cluster = HFactory.getOrCreateCluster("mycluster", chc); 
    System.out.println("cluster: " + cluster.getKnownPoolHosts(false)); 
    try{ 
     KeyspaceDefinition keyspaceDef = cluster.describeKeyspace("sensornetwork"); 
    } catch (HectorException he){ 
     ColumnFamilyDefinition cfDef = HFactory.createColumnFamilyDefinition("sensornetwork", 
                    "ColumnFamilyName", 
                    ComparatorType.BYTESTYPE); 

     KeyspaceDefinition newKeyspace = HFactory.createKeyspaceDefinition("sensornetwork", 
                    ThriftKsDef.DEF_STRATEGY_CLASS, 
                    1, 
                    Arrays.asList(cfDef));  
     cluster.addKeyspace(newKeyspace, true); 
    } 


    // If keyspace does not exist, the CFs don't exist either. => create them. 


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

Я сделал это в основном, следуя документации Гектора на своем собственном веб-сайте.

Ошибка я получаю это:

Исключение в потоке «основного» me.prettyprint.hector.api.exceptions.HectorException: Все бассейны хозяина уценке. Бремя повторной подачи выдается клиенту. на me.prettyprint.cassandra.connection.HConnectionManager.getClientFromLBPolicy (HConnectionManager.java:401) на me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover (HConnectionManager.java:232) на me.prettyprint.cassandra. service.ThriftCluster.addKeyspace (ThriftCluster.java:168) на com.mycompany.mavenpails2.SpeedLayer.CassandraPrepwork (SpeedLayer.java:62)

Очевидно, я создаю кластер без подключения рабочего бассейна. Я изменил порт и все пробовал, но не могу заставить его работать. Какие-либо предложения?

ответ

3

Скорее всего, «localhost» не слушал бережливость. Вероятно, вы захотите использовать клиент cql, например, https://github.com/datastax/java-driver. В противном случае убедитесь, что у вас есть привязка в cassandra.yaml

+0

Спасибо, я собираюсь попробовать Datastax. –