我正在尝试设置3节点Cassandra VM群集。
我在个别虚拟机上安装了来自datastax包的cassandra,然后修改了以下内容:
Seed - vm1(在所有vm配置中设置ip地址)
使用listen_address作为主机ip更新了配置,添加了rpc_broadcast_address
在防火墙规则中添加了cassandra端口以允许进行intermm通信
还尝试使用SSH连接到vms
尝试了所有这些后,我启动了cassandra种子节点,它很好,当我使用nodetool检查状态时,我看到节点状态是UN(Up / Normal)。 然后我在其他集群节点上启动cassandra。它无法启动,无法与任何种子错误闲聊。 任何帮助将不胜感激!
堆栈追踪:
java.lang.RuntimeException: Unable to gossip with any seeds
at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1334) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:540) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:783) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:720) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:611) ~[apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:378) [apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:537) [apache-cassandra-2.1.9.jar:2.1.9]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:626) [apache-cassandra-2.1.9.jar:2.1.9]
谢谢!
答案 0 :(得分:2)
好的,花了一天时间就找到了这个问题。这确实是一个防火墙问题。除了在iptables中输入规则外,还要确保ACCEPT规则出现在REJECT规则之前 - >订购事宜。 在更改订单并重新启动iptables服务和cassandra后,它开始工作,节点能够与种子闲聊。