我在使用网络拓扑创建密钥空间时遇到问题。
代码:
// The Astyanax context I'm using
AstyanaxContext<Keyspace> context = new AstyanaxContext.Builder()
.forCluster("Test Cluster")
.forKeyspace("NetworkKS")
.withAstyanaxConfiguration(new AstyanaxConfigurationImpl()
.setDiscoveryType(NodeDiscoveryType.NONE))
.withConnectionPoolConfiguration(new ConnectionPoolConfigurationImpl("MyConnectionPool")
.setPort(9160)
.setMaxConnsPerHost(10)
.setInitConnsPerHost(1)
.setSeeds("127.0.0.1:9160"))
.withConnectionPoolMonitor(new Slf4jConnectionPoolMonitorImpl())
.buildKeyspace(ThriftFamilyFactory.getInstance());
context.start();
// A different method takes the above context as a keyspace parameter
keyspace.createKeyspace(ImmutableMap.<String, Object>builder()
.put("strategy_options", ImmutableMap.<String, Object>builder()
.put("us-east", "3")
.put("eu-west", "3")
.put("replication_factor", "1").build())
.put("strategy_class", "NetworkTopologyStrategy").build());
我知道为一个节点创建网络策略键空间似乎毫无意义,但这只是一个测试,一旦我让它工作,我将在种子中添加另一个 Cassandra 实例。
错误是:
[AWT-EventQueue-0] WARN com.netflix.astyanax.connectionpool.impl.Slf4jConnectionPoolMonitorImpl - TransportException: [host=127.0.0.1(127.0.0.1):9160, latency=42(42), attempts=1]org.apache.thrift.transport.TTransportException
[AWT-EventQueue-0] INFO com.netflix.astyanax.connectionpool.impl.Slf4jConnectionPoolMonitorImpl - TransportException: [host=127.0.0.1(127.0.0.1):9160, latency=42(42), attempts=1]org.apache.thrift.transport.TTransportException
Jan 27, 2013 4:42:39 PM smail.cli.astyanax.Schema createNetworkKeyspace
SEVERE: null
com.netflix.astyanax.connectionpool.exceptions.TransportException: TransportException: [host=127.0.0.1(127.0.0.1):9160, latency=42(42), attempts=1]org.apache.thrift.transport.TTransportException
at com.netflix.astyanax.thrift.ThriftConverter.ToConnectionPoolException(ThriftConverter.java:197)
at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:60)
at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:27)
at com.netflix.astyanax.thrift.ThriftSyncConnectionFactoryImpl$1.execute(ThriftSyncConnectionFactoryImpl.java:136)
at com.netflix.astyanax.connectionpool.impl.AbstractExecuteWithFailoverImpl.tryOperation(AbstractExecuteWithFailoverImpl.java:69)
at com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool.executeWithFailover(AbstractHostPartitionConnectionPool.java:248)
at com.netflix.astyanax.thrift.ThriftKeyspaceImpl.createKeyspace(ThriftKeyspaceImpl.java:545)
at smail.cli.astyanax.Schema.createNetworkKeyspace(Schema.java:121)
at smail.cli.test.SchemaCreationTest.createNetKS(SchemaCreationTest.java:21)
at smail.cli.test.SchemaCreationTest.runTest(SchemaCreationTest.java:50)
at smail.cli.Main$1.run(Main.java:48)