【发布时间】:2020-02-17 13:32:03
【问题描述】:
我有一个单节点 Cassandra 集群,我向该集群添加了一个新节点。我确保集群名称和 rack-dc 属性相同。我还确保节点可以通过所有必要的端口进行通信。我可以从两个节点相互 cqlsh 以及 telnet 所有需要的端口 7000,7199,9042
cassandra.yaml 用于新节点
1) seed: - "<old_node_ip>,<new_node_ip>"
2) auto_bootstrap: - true
3) listen_address: <new_node_ip>
4) rpc_address: <new_node_ip>
nodetool status 命令仅显示两个节点上的主机节点(本身)
使用 open jdk 8 在两者上运行 cassandra v 3.11.4
我错过了什么吗?
更新
这是日志:
java.lang.RuntimeException: Unable to gossip with any peers
at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1435) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:566) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:823) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:683) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:632) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:388) [apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:620) [apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:732) [apache-cassandra-3.11.4.jar:3.11.4]
INFO [StorageServiceShutdownHook] 2019-10-21 13:08:14,218 HintsService.java:209 - Paused hints dispatch
WARN [StorageServiceShutdownHook] 2019-10-21 13:08:14,219 Gossiper.java:1559 - No local state, state is in silent shutdown, or node hasn't joined, not announcing shutdown
INFO [StorageServiceShutdownHook] 2019-10-21 13:08:14,219 MessagingService.java:981 - Waiting for messaging service to quiesce
INFO [ACCEPT-/10.128.1.3] 2019-10-21 13:08:14,220 MessagingService.java:1336 - MessagingService has terminated the accept() thread
INFO [StorageServiceShutdownHook] 2019-10-21 13:08:14,764 HintsService.java:209 - Paused hints dispatch
它说无法与同行闲聊,但我可以在 JMX 端口上远程登录,并且种子值也被提及正确
【问题讨论】:
-
两个节点上的
cluster_name是否匹配?另外,日志中关于与第一个节点握手的内容是什么? -
正如@Aaron 所建议的,日志会告诉你到底出了什么问题。
-
是的 cluster_name 是一样的,我仔细检查了
-
嗯。您是否使用节点到节点 SSL?因为那将在 7001 上,并且需要匹配的信任库。或者它可能是内部 IP 地址与外部 IP 地址的情况。无论哪种方式,您的节点都不能互相闲聊,所以在此过程中有些事情不太对劲。
-
其实节点间通信没有SSL,我没有开启。一件事是在我的 old_node 上,cassandra 正在使用 localhost (127.0.0.1),如 nodetool 状态所示。它与这个错误有什么关系吗?
标签: cassandra