我使用Cassandra 1.2.6與Astyanax。我使用Java創建了一個名爲DummyKeyspace的密鑰空間。我可以從cassandra-cli
到達該密鑰空間,但不能從cqlsh
。爲什麼?用Astyanax創建的Keyspace是不可見的cqlsh
這裏是我的Java代碼:
public void createKeyspace(Cluster cluster,String KEYSPACE_NAME,String STRATEGY, String REPLICA_FACTOR) throws ConnectionException
{
if(cluster.describeKeyspace(KEYSPACE_NAME) == null)
{
KeyspaceDefinition ksDef = cluster.makeKeyspaceDefinition();
Map<String,String> stratOptions = new HashMap<String,String>();
stratOptions.put("replication_factor", REPLICA_FACTOR);
ksDef.setName(KEYSPACE_NAME)
.setStrategyOptions(stratOptions)
.setStrategyClass(STRATEGY);
cluster.addKeyspace(ksDef);
System.out.println("Keyspace " + KEYSPACE_NAME + " created and added to cluster.");
}
else
{
System.out.println("Keyspace " + KEYSPACE_NAME + " already existed.");
}
}
以下是錯誤當我試圖去實現它:
cqlsh> USE DummyKeyspace;
Bad Request: Keyspace 'dummykeyspace' does not exist
那是copypasta嗎?當你使用'DummyKeyspace'時,你是如何得到'twitter2'的錯誤請求的? – Richard
哦對不起,我忘了改變那部分。當我公開分享時,通常不會使用代碼段的實際名稱。所以這就是爲什麼它在那裏。編輯。 – shyos
是的,它的代碼不是copypasta。 – shyos