我正在尝试在aws实例上设置2个节点的Cassandra集群。
我使用
创建了两个IP地址ifconfig eth0:0 <alias_ip1> up
and ifconfig eth0:1 <alias_ip2> up
另外,我有两个cassandra实例。
在我的第一个cassandra实例配置中,我给出了以下内容
cluster_name: 'ClusterName'
seeds: "<alias_ip1>"
listen_address: <alias_ip1>
rpc_address: <public_ip_of_aws_instance> #I want my spark program that is running on a different machine to access this cluster. So setting this.
在我的第二个cassandra实例配置中,我给出了以下内容
cluster_name: 'ClusterName'
seeds: "<alias_ip1>"
listen_address:<alias_ip2>
rpc_address: <public_ip_of_aws_instance>
当我尝试启动我的实例时,出现以下错误
java.lang.RuntimeException: Unable to gossip with any seeds
at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1336) ~[apache-cassandra-2.1.11.jar:2.1.11]
at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:540) ~[apache-cassandra-2.1.11.jar:2.1.11]
at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:788) ~[apache-cassandra-2.1.11.jar:2.1.11]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:720) ~[apache-cassandra-2.1.11.jar:2.1.11]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:611) ~[apache-cassandra-2.1.11.jar:2.1.11]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:387) [apache-cassandra-2.1.11.jar:2.1.11]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:562) [apache-cassandra-2.1.11.jar:2.1.11]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:651) [apache-cassandra-2.1.11.jar:2.1.11]
java.lang.RuntimeException:无法用任何种子闲聊 在org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1336)
我错过了什么吗?
我检查了以下链接并尝试设置broadcast_address。但是,它似乎没有起作用。 Apache Cassandra: Unable to gossip with any seeds
答案 0 :(得分:0)
确保在安全组中打开端口。安全组中的计算机必须接受7000,9042和9160上的连接。如果这是概念验证,只需打开从安全组到自身的所有TCP。
另外,请确保启动种子实例1。否则,第二个实例会抱怨它“无法用任何种子闲聊”。
如果您使用内部IP,则不需要broadcast_address。