使用Hector创建一个带有“网络拓扑”的Cassandra密钥空间?

时间:2013-12-01 09:43:52

标签: cassandra hector

我想用'网络拓扑'创建一个Cassandra密钥空间。我可以使用这样的CLI来完成它。

CREATE KEYSPACE test
WITH placement_strategy = 'NetworkTopologyStrategy'
AND strategy_options={us-east:6,us-west:3};

如何使用Hector实现相同目标?

谢谢,
Bhathiya

2 个答案:

答案 0 :(得分:1)

你不应该这样做。当Hector是客户端驱动程序的主要选择时,建议您通过cassandra-CLI创建密钥空间

话虽如此,我建议您使用最新的驱动程序并推荐DataStax binary protocol driver

答案 1 :(得分:0)

为了记录,这是有效的。

Map<String,String> options = new HashMap<String,String>();
options.put("dc1", "3");    
options.put("dc2", "1");    
ThriftKsDef kd = (ThriftKsDef) HFactory.createKeyspaceDefinition(keyspaceName,
     strategyClass, replicationFactor, cfDefs);    
if(options != null){    
     kd.setStrategyOptions(options);    
}    
getCluster().addKeyspace(kd, true);