我们在AWS中设置了3个节点的Cassandra集群。
我们执行了以下步骤;
1)在所有3个节点上,安装了最新版本的Oracle JDK 1.8。
在所有3个节点上,安装了Cassandra 2.1.8。
在所有3个节点上,找到cassandra.yaml并设置以下属性:
cluster_name: 'ABC'
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
write_request_timeout_in_ms: 5000
2)在同一文件中,将“listen_address”和“rpc_address”都设置为主机的永久地址(在Amazon VM重启后未更改的地址)。 3)在同一文件中,在“seed_provider”属性下,将“seeds”属性设置为主机的永久地址(在Amazon VM重新启动后未更改的地址),该地址被选择为种子。 4)保存所有更改并关闭文件。还要在防火墙中打开所需的端口。 5)逐个启动所有节点上的Cassandra并确认所有节点都已启动。
连接到节点1并执行以下查询
root@ip-10-181-119-112:/etc/cassandra/bin# ./cqlsh -u cassandra -p cassandra 10-181-119-112
Connected to Dev Cluster at 10-181-119-112:9042.
[cqlsh 5.0.1 | Cassandra 2.1.8 | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
cassandra@cqlsh> ALTER KEYSPACE system_auth WITH REPLICATION = { 'class': 'NetworkTopologyStrategy', 'us-east': 3 };
尝试在第二个节点上更改相同但我无法连接到面临错误的第二个节点。
root@ip-10-181-133-155:/etc/cassandra/bin# ./cqlsh -u cassandra -p cassandra 10-181-133-155
Connection error: ('Unable to connect to any servers', {'10-181-133-155': AuthenticationFailed(u'Failed to authenticate to 10-181-133-155: code=0100 [Bad credentials] message="org.apache.cassandra.exceptions.UnavailableException: Cannot achieve consistency level QUORUM"',)})
请让我知道我在这里做错了什么,并帮助我解决这个问题。
答案 0 :(得分:3)
似乎无法读取默认用户的身份验证数据。尝试nodetool repair
所有节点上的system_auth键空间。此外,请确保复制设置中使用的数据中心名称(" us-east")与您在nodetool status
中看到的匹配。