【发布时间】:2015-01-13 23:20:48
【问题描述】:
我只是想学习 Cassnadra,我正在做设置两个节点集群的简单练习,但是有困难 - 到目前为止它还没有奏效。 Cassandra 版本:2.1.1。
主机操作系统:Centos 6.5 64 位
Java:8(甲骨文)
节点数:2
节点地址:192.168.0.41 和 192.168.0.43(静态)
两个盒子的防火墙上打开的端口:7000、9042、9160、7199
我做了以下设置集群:
在 cassandra.yaml 和表中将两个框上的 cluster_name 更改为“MyCluster”,如下所述:
cassandra - Saved cluster name Test Cluster != configured name
将listen_address分别更改为192.168.0.41和192.168.0.43。
将 rpc_address 分别更改为 192.168.0.41 和 192.168.0.43。
在 41 上我设置了“种子:192.168.0.43”
在 43 上我设置了“种子:192.168.0.43”(与 41 上相同)
每个节点自己工作(当另一个节点宕机时),它启动并响应
nodetool status
没事继续跑,我也可以连接cqlsh运行
describe keyspaces;
这也有效。 但是当我同时运行两个节点时,其中一个会在一两分钟后死掉。
确切的症状是:节点仍然响应 cqlsh 命令 describe keyspaces fine,所以它有点活着,但是当尝试执行 nodetool status 时,nodetool 输出上会打印以下错误:
error: No nodes present in the cluster. Has this node finished starting up?
-- StackTrace --
java.lang.RuntimeException: No nodes present in the cluster. Has this node finished starting up?
at org.apache.cassandra.dht.Murmur3Partitioner.describeOwnership
(Murmur3Partitioner.java:130)
....
另一个节点继续正常运行,并且作为集群中唯一的节点,它一直报告自己拥有 100% 的所有权。
这是 43 的 system.log 部分,大约在它“死亡”的时候:
WARN [GossipStage:1] 2014-11-17 04:33:30,163 TokenMetadata.java:198 - Token -7592767110844961279 changing ownership from /192.168.0.43 to /192.168.0.41
WARN [GossipStage:1] 2014-11-17 04:33:30,163 TokenMetadata.java:198 - Token -7240492143116021720 changing ownership from /192.168.0.43 to /192.168.0.41
WARN [GossipStage:1] 2014-11-17 04:33:30,163 TokenMetadata.java:198 - Token -8434936427655644773 changing ownership from /192.168.0.43 to /192.168.0.41
WARN [GossipStage:1] 2014-11-17 04:33:30,163 TokenMetadata.java:198 - Token -1656745619022636889 changing ownership from /192.168.0.43 to /192.168.0.41
WARN [GossipStage:1] 2014-11-17 04:33:30,163 TokenMetadata.java:198 - Token -7470625165291146007 changing ownership from /192.168.0.43 to /192.168.0.41
INFO [HANDSHAKE-/192.168.0.41] 2014-11-17 04:33:30,230 OutboundTcpConnection.java:427 - Handshaking version with /192.168.0.41
INFO [GossipTasks:1] 2014-11-17 04:33:49,179 Gossiper.java:906 - InetAddress /192.168.0.41 is now DOWN
INFO [HANDSHAKE-/192.168.0.41] 2014-11-17 04:33:50,190 OutboundTcpConnection.java:427 - Handshaking version with /192.168.0.41
INFO [SharedPool-Worker-1] 2014-11-17 04:34:30,224 Gossiper.java:892 - InetAddress /192.168.0.41 is now UP
INFO [CompactionExecutor:5] 2014-11-17 04:41:01,178 CompactionManager.java:521 - No files to compact for user defined compaction
INFO [CompactionExecutor:6] 2014-11-17 04:51:01,187 CompactionManager.java:521 - No files to compact for user defined compaction
知道有什么问题吗? 谢谢
【问题讨论】:
-
实验次数后观察,无论顺序如何,第一个启动的节点都是“死亡”的节点。
-
你找到解决办法了吗,我也有同样的问题?