Cassandra: - 新添加的节点在节点工具状态中不可见



我有一个单节点Cassandra集群,我向该集群添加了一个新节点。我确保群集名称相同,机架直流属性相同。我还确保节点可以通过所有必要的端口进行通信。我可以从两个节点相互cqlsh,也可以远程登录所有必需的端口7000,7199,9042

Cassandra.yaml for new node

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 命令仅显示两个节点上的主机节点(自身(

在打开的 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端口上telnet,并且种子值也提到了正确

让新节点加入/八卦现有节点需要三个主要事项:

  1. cluster_name- 两个节点的群集名称必须完全匹配(区分大小写(。
  2. seeds- 新节点必须使用现有节点作为种子节点。 如果您在云环境中工作,则必须使用"外部"(也称为"浮动"(IP 地址。
  3. 节点
  4. 到节点 SSL(如果使用(- 节点必须具有匹配的信任库才能连接。

有一件事是关于我的old_node cassandra 正在使用 localhost (127.0.0.1(,如 nodetool 状态所示。

2一.两个节点都不能使用 127.0.0.1 的主 IP。

尝试将新节点添加到单个 DC 群集时出现此错误。我错误背后的原因是我在cassandra.yaml中的broadcast_address参数与listen_address的IP不同。我将其设置为空白并重新启动了解决问题的服务器。

# Address to broadcast to other Cassandra nodes
# Leaving this blank will set it to the same value as listen_address
broadcast_address:

最新更新