尝试使用cassandra为system_auth更改键空间复制因子时出错

时间:2014-03-06 05:17:02

标签: cassandra cassandra-2.0

我正在尝试增加我在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 {

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

我收到了类似的错误,以下是我为让事情发挥作用而采取的步骤。

关于我的设置:在AWS中运行四个Cassandra服务器。他们通过cass1命名(非原创)cass4

  1. cassandra.yaml上更改了cass1。我设置了authenticator: PasswordAuthenticatorauthorizer: CassandraAuthorizer
  2. cass1上重新启动了Cassandra。
  3. 使用cqlsh -u cassandra -p cassandra
  4. 登录
  5. 推荐不同 ALTER TABLE而不是@ mikhail-stepura。我用过: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')})
  6. 我通过cassandra.yaml将我对cass2的更改重复cass4,并在每台服务器上重新启动了Cassandra。
  7. 瞧!我可以在所有服务器上登录Cassandra。