cassandra中的两个节点彼此不闲聊

时间:2015-10-15 00:52:07

标签: cassandra gossip

节点0:
configuration.yaml文件:
cluster_name:' ServerCluster'
num_tokens:256
种子:""
listen_address:10.104.0.15
rpc_address:10.104.0.15
auto_bootstrap:false
endpoint_snitch:GossipingPropertyFileSnitch

cassandra-env.sh文件:JVM_OPTS =" $ JVM_OPTS -java.rmi.server.hostname = 10.104.0.15"
cassandra-rackdc文件:dc = DC1rack = RAC1

节点1:
configuration.yaml文件:
cluster_name:' ServerCluster'
num_tokens:256
种子:" 10.104.0.15"
listen_address:10.104.0.20
rpc_address:10.104.0.20
auto_bootstrap:true
endpoint_snitch:GossipingPropertyFileSnitch

cassandra-env.sh文件:JVM_OPTS =" $ JVM_OPTS -Djava.rmi.server.hostname = 10.104.0.20"
cassandra-rackdc文件:dc = DC1rack = RAC1

Node0正常运行 Node1错误:

INFO  00:03:44 OutboundTcpConnection using coalescing strategy DISABLED
INFO  00:03:45 Handshaking version with /10.104.0.15
ERROR 00:04:16 Exception encountered during startup
java.lang.RuntimeException: Unable to gossip with any seeds
    at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1333) ~
[apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.StorageService.checkForEndpointCollision
(StorageService.java:540) ~[apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.StorageService.prepareToJoin(StorageServ
ice.java:788) ~[apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.StorageService.initServer(StorageService
.java:720) ~[apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.StorageService.initServer(StorageService
.java:611) ~[apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.ja
va:387) [apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon
.java:562) [apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.jav
a:651) [apache-cassandra-2.1.10.jar:2.1.10]
java.lang.RuntimeException: Unable to gossip with any seeds
    at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1333)
    at org.apache.cassandra.service.StorageService.checkForEndpointCollision
(StorageService.java:540)
    at org.apache.cassandra.service.StorageService.prepareToJoin(StorageServ
ice.java:788)
    at org.apache.cassandra.service.StorageService.initServer(StorageService
.java:720)
    at org.apache.cassandra.service.StorageService.initServer(StorageService
.java:611)
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.ja
va:387)
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon
.java:562)
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.jav
a:651)
Exception encountered during startup: Unable to gossip with any seeds
WARN  00:04:16 No local state or state is in silent shutdown, not announcing     shu

tdown长     INFO 00:04:16等待消息传递服务停顿     INFO 00:04:16 MessagingService终止了accept()线程



然后我改变了种子(因为在stackoverflow中看到了一个解决方案) 节点0:
种子:" 10.104.0.15,10.104.0.20"
节点1:
种子:" 10.104.0.20"

Node0没问题 Node1错误:

INFO  00:25:36 Thrift API version: 19.39.0
INFO  00:25:36 CQL supported versions: 2.0.0,3.2.1 (default: 3.2.1)
INFO  00:25:36 Initializing index summary manager with a memory pool size of    101
MB and a resize interval of 60 minutes
INFO  00:25:36 Loading persisted ring state
ERROR 00:25:36 Exception encountered during startup
java.lang.IllegalStateException: Shutdown in progress
    at java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:
66) ~[na:1.8.0_60]
    at java.lang.Runtime.addShutdownHook(Runtime.java:211) ~[na:1.8.0_60]
    at org.apache.cassandra.service.StorageService.initServer(StorageService
.java:718) ~[apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.StorageService.initServer(StorageService
.java:611) ~[apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.ja
va:387) [apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon
.java:562) [apache-cassandra-2.1.10.jar:2.1.10]
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.jav
a:651) [apache-cassandra-2.1.10.jar:2.1.10]
java.lang.IllegalStateException: Shutdown in progress
    at java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:
66)
    at java.lang.Runtime.addShutdownHook(Runtime.java:211)
    at org.apache.cassandra.service.StorageService.initServer(StorageService
.java:718)
    at org.apache.cassandra.service.StorageService.initServer(StorageService
.java:611)
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.ja
 va:387)
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon
.java:562)
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.jav
a:651)
Exception encountered during startup: Shutdown in progress

那你可以帮我解决这个鸡蛋问题吗? 比你提前做了

即使我按照数据链接https://academy.datastax.com/courses/ds210-datastax-enterprise-operations-and-performance-tuning/multiple-data-centers-multiple-0
他只是更改了clustername,listen_address,rpc_address和种子,当他键入nodetool状态时,他能够看到它们两个但是当我按照相同的情况时,我只看到它在各自服务器中的状态

2 个答案:

答案 0 :(得分:1)

我不确定这会解决您的问题。但这是一个很好的建议。

所有节点应该具有相同的种子,并且数据中心应至少有一个种子。即使一个节点的唯一种子本身也是如此。

如果我是你,我会在所有节点上尝试这个设置:

seeds: "10.104.0.15, 10.104.0.20"

我不明白为什么你没有为节点1指定任何直流机架。这是故意的吗?

答案 1 :(得分:1)

停止两个节点。删除数据文件夹。更改配置以将两个节点都设为种子。再次启动每个节点。我怀疑第一次失败的尝试可能会有些奇怪。

以下是需要打开的所有端口的列表,请确保您可以访问它们(使用telnet进行检查)。

http://docs.datastax.com/en/cassandra/2.0/cassandra/security/secureFireWall_r.html