1

Node0:
configuration.yaml 文件:
cluster_name:'ServerCluster'
num_tokens:256
Seeds:“”
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

Node1:
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() 线程



然后我更改了 Node0 的种子(因为在 stackoverflow 中看到了解决方案)

Seeds: "10.104.0.15,10.104.0.20"
Node1:
Seeds: "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

那么你能帮我解决这个先有鸡还是先有蛋的问题吗?比你提前

甚至我也关注了datastax链接https://academy.datastax.com/courses/ds210-datastax-enterprise-operations-and-performance-tuning/multiple-data-centers-multiple-0
,他只是更改了集群名称,listen_address, rpc_address 和种子,当他键入 nodetool status 时,他能够看到它们,但是当我遵循相同的操作时,我只看到它在各自服务器中的状态

4

2 回答 2

1

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

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

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

于 2015-10-24T00:48:13.733 回答
1

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

所有节点都应该有相同的种子,并且数据中心应该至少有一个种子。即使一个节点的唯一种子是它自己。

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

seeds: "10.104.0.15, 10.104.0.20"

而且我不明白您为什么没有为节点 1 指定任何 dc, rack。这是故意的吗?

于 2015-10-15T15:55:42.090 回答