与带有gossip snitch的cassandra集群建立连接时遇到的问题

7fyelxc5  于 12个月前  发布在  Cassandra
关注(0)|答案(1)|浏览(121)

我在与3个节点的集群进行连接时遇到了问题。即最初至少需要2个节点与集群进行连接,如果所有节点都关闭,并且只有一个节点出现,那么我可以与集群进行连接
下面是我如何使用gossip snitch设置3个节点的连接集群的细节

node1 cassandra.yml

cluster_name: 'TestCluster'
num_tokens: 256
authenticator: PasswordAuthenticator
seeds: "1.1.1.1, 1.1.1.2, 1.1.1.3"
listen_address: 1.1.1.1
rpc_address: 1.1.1.1
endpoint_snitch: GossipingPropertyFileSnitch
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
network_authorizer: AllowAllNetworkAuthorizer

字符串

Node1 rack.properties

dc=datacenter1
rack=rack1

Node1 topology.properties

1.1.1.1=datacenter1:rack1
1.1.1.2=datacenter1:rack2
1.1.1.3=datacenter1:rack3

node2 cassandra.yml

cluster_name: 'TestCluster'
num_tokens: 256
authenticator: PasswordAuthenticator
seeds: "1.1.1.1, 1.1.1.2, 1.1.1.3"
listen_address: 1.1.1.2
rpc_address: 1.1.1.2
endpoint_snitch: GossipingPropertyFileSnitch
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
network_authorizer: AllowAllNetworkAuthorizer

Node2 rack.properties

dc=datacenter1
rack=rack2

Node2 topology.properties

1.1.1.1=datacenter1:rack1
1.1.1.2=datacenter1:rack2
1.1.1.3=datacenter1:rack3

node3 cassandra.yml

cluster_name: 'TestCluster'
num_tokens: 256
authenticator: PasswordAuthenticator
seeds: "1.1.1.1, 1.1.1.2, 1.1.1.3"
listen_address: 1.1.1.3
rpc_address: 1.1.1.3
endpoint_snitch: GossipingPropertyFileSnitch
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
network_authorizer: AllowAllNetworkAuthorizer

Node3 rack.properties

dc=datacenter1
rack=rack3

Node3 topology.properties

1.1.1.1=datacenter1:rack1
1.1.1.2=datacenter1:rack2
1.1.1.3=datacenter1:rack3


在node 1中,我连接到cqlsh,默认用户名为cassandra,密码为:cassandra

CREATE ROLE IF NOT EXISTS admin1 WITH SUPERUSER = true AND LOGIN = true AND PASSWORD = 'admin1password';


然后我删除默认用户“cassandra”现在从所有三个节点我能够通过新的admin 1连接到cqlsh
问题:
1.当所有三个节点都关闭时-->稍后当一个节点打开时-->无法连接到cqlsh
1.当所有三个节点都关闭以与群集建立初始连接或连接到cqlsh时,它需要至少2个节点启动并运行
有没有人能为这个问题提供解决方案?
Thanks in Advance

h22fl7wq

h22fl7wq1#

如果你使用GossipingPropertyFileSnitch,我希望你已经编辑了每个节点上的cassandra-rackdc.properties文件,只是指出该节点属于哪个机架/ DC。它不会包含其他节点机架/ DC的详细信息-该snitch的目的是他们会互相八卦他们的拓扑结构。
您遇到的具体问题:
1.如果system_auth keyspace未更改为RF=3,则您创建的admin用户的详细信息可能位于已关闭的节点上,您需要所有3个节点来持有CL=ONE Admin auth的授权,以便能够访问数据的1个副本。
1.这一点还不清楚,但是在Local_Quorum / Quorum上发出的任何查询都希望看到3个节点中的2个节点启动。我怀疑这与第1点有关,并且您没有提到更改system_auth keyspace的RF。

相关问题