Java cqlsh看不到使用Astyanax创建的键空间
我将Cassandra 1.2.6与Astyanax一起使用。我使用Java创建了一个名为DummyKeyspace的键空间。我可以从Java cqlsh看不到使用Astyanax创建的键空间,java,cassandra,astyanax,cqlsh,Java,Cassandra,Astyanax,Cqlsh,我将Cassandra 1.2.6与Astyanax一起使用。我使用Java创建了一个名为DummyKeyspace的键空间。我可以从cassandra cli访问该键空间,但不能从cqlsh访问该键空间。为什么? 以下是我的Java代码: public void createKeyspace(Cluster cluster,String KEYSPACE_NAME,String STRATEGY, String REPLICA_FACTOR) throws ConnectionExceptio
cassandra cli
访问该键空间,但不能从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.");
}
}
我为此创建了一张罚单()。也许目的是使用引号,但这是不直观的。您还可以将
-k
命令行参数用于cqlsh。尝试将键空间括在引号内“”
是否正确?当你使用“DummyKeyspace”的时候,你怎么会收到“twitter2”的坏请求?哦,对不起,我忘了更改那个部分。当我在公共场合共享代码段时,我通常不使用代码段的实际名称。这就是它存在的原因。已编辑。是的,这是我的代码,不是copypasta。描述键空间的是什么output?多亏了你的评论,我意识到cql将键空间名称小写,因此我无法访问它。我尝试用小写字母创建键空间,结果成功了。然后查找大写解决方案,结果如下:使用“DummyKeyspace”
cqlsh> USE DummyKeyspace;
Bad Request: Keyspace 'dummykeyspace' does not exist