2

Astyanax で Cassandra 1.2.6 を使用しています。Java を使用して DummyKeyspace という名前のキースペースを作成しました。そのキースペースには から到達できますが、 からは到達でき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.");
        }
    }

到達しようとしたときのエラーは次のとおりです。

cqlsh> USE DummyKeyspace;
Bad Request: Keyspace 'dummykeyspace' does not exist
4

2 に答える 2

3

キースペースを引用符で囲んでみてください""

于 2015-01-25T18:59:53.880 に答える
2

これに関するチケットを作成しました ( CASSANDRA-5879 )。引用符を使用することを意図しているのかもしれませんが、直感的ではありません。-kコマンド ライン引数を使用して cqlsh を実行することもできます。

于 2013-08-12T09:46:56.417 に答える