我正在尝试增加我在cassandra中的复制因子,因为根据以下安全相关原因,这是必要的:
当我执行命令时:
ALTER KEYSPACE "system_auth" WITH REPLICATION { 'class' : 'SimpleStrategy', 'replication_factor' : 2};
我收到错误:
Bad Request: line 1:46 missing '=' at {
有人知道这是为什么吗?我对此感到困惑
答案 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
。
cassandra.yaml
上更改了cass1
。我设置了authenticator: PasswordAuthenticator
和authorizer: CassandraAuthorizer
。cass1
上重新启动了Cassandra。cqlsh -u cassandra -p cassandra
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')})
cassandra.yaml
将我对cass2
的更改重复cass4
,并在每台服务器上重新启动了Cassandra。