Cassandra身份验证问题

use*_*472 5 cassandra

cassandra版本:apache-cassandra-2.1.8

我最近配置了2个节点集群,Authenticator 设置为PasswordAuthenticator.当其中一个节点关闭时,我无法登录到Cqlsh并获得以下错误

Connection error: ('Unable to connect to any servers', 
{'192.168.0.45': AuthenticationFailed(u'Failed to authenticate to 192.168.0.45: code=0100 [Bad credentials] 
message="org.apache.cassandra.exceptions.UnavailableException: Cannot achieve consistency level QUORUM"',)})
Run Code Online (Sandbox Code Playgroud)

system_auth RF设置为2,因为我有2个节点.

C:\apache-cassandra-2.1.8-bin\apache-cassandra-2.1.8\bin>nodetool status
Starting NodeTool
Datacenter: DC1
================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens  Owns    Host ID                               Rack
UN  192.168.0.45  327.87 KB  256     ?       66a97a0a-d69c-4daf-b0f5-55cb8442d728  RAC1
UN  192.168.0.46  234.28 KB  256     ?       432031fc-eea3-4b02-8d79-f877bbd8afaf  RAC1


KeySpace RF

cassandra@cqlsh> select * from system.schema_keyspaces;

 keyspace_name | durable_writes | strategy_class                              | strategy_options
---------------+----------------+---------------------------------------------+----------------------------
   system_auth |           True | org.apache.cassandra.locator.SimpleStrategy | {"replication_factor":"2"}
        system |           True |  org.apache.cassandra.locator.LocalStrategy |                         {}
 system_traces |           True | org.apache.cassandra.locator.SimpleStrategy | {"replication_factor":"2"}

(3 rows)
Run Code Online (Sandbox Code Playgroud)

我附加了Cassandra文件,cassandra.yaml和cassandra-topology.properties文件

Jim*_*yer 5

它可能与此有关:

"对于大多数system_auth查询,Cassandra使用LOCAL_ONE的一致性级别,并使用QUORUM作为默认的cassandrasuperuser;"

您是否尝试以"cassandra"用户身份进行连接?如果是这样,那可能就是它尝试使用一致性级别仲裁的原因.由于您只有两个节点,因此仲裁将是两个节点.

因此,请尝试根据此处的说明创建不同的用户.