1

我正在尝试增加我在 cassandra 中的复制因子,因为出于安全相关原因,这是必要的,根据:

http://www.datastax.com/docs/datastax_enterprise3.0/security/security_keyspace_replication#security-keyspace-replication

当我执行命令时:

ALTER KEYSPACE "system_auth" WITH REPLICATION { 'class' : 'SimpleStrategy', 'replication_factor' : 2}; 

我得到错误:

Bad Request: line 1:46 missing '=' at {

有人知道这是为什么吗?我对此感到困惑</p>

4

2 回答 2

3

alter KEYSPACE system_auth WITH replication = { 'class' : 'SimpleStrategy', 'replication_factor' : 2};

http://cassandra.apache.org/doc/cql3/CQL.html#createKeyspaceStmt

于 2014-03-06T05:46:03.947 回答
1

我收到了类似的错误,以下是我为使事情为我工作所经历的步骤。

关于我的设置:在 AWS 中运行四个 Cassandra 服务器。它们cass1通过cass4.

  1. 更改cassandra.yamlcass1。我设置authenticator: PasswordAuthenticatorauthorizer: CassandraAuthorizer
  2. 重新启动 Cassandra cass1
  3. 登录使用cqlsh -u cassandra -p cassandra
  4. 与@mikhail-stepura 推荐的不同。 ALTER TABLE我用了:alter KEYSPACE system_auth WITH replication = { 'class' : 'NetworkTopologyStrategy', 'us-east' : 4};
    • 运行他的,我发现我无法cass2通过cass4. 我会收到两条错误消息之一:要么
      • Connection error: ('Unable to connect to any servers', {'127.0.0.1': AuthenticationFailed(u'Failed to authenticate to 127.0.0.1: code=0100 [Bad credentials] message="org.apache.cassandra.exceptions.UnavailableException: Cannot achieve consistency level QUORUM"',)})或者
      • Connection error: ('Unable to connect to any servers', {'127.0.0.1': error(111, 'ECONNREFUSED')})
  5. 我将更改复制到cassandra.yamlon cass2through cass4,并在每台服务器上重新启动 Cassandra。
  6. 瞧!我可以在所有服务器上登录 Cassandra。
于 2014-10-22T19:48:23.690 回答