Cassandra错误:群集中没有节点

hen*_*nry 3 cassandra cassandra-2.0

我只是想学习Cassnadra,我正在做一个简单的练习设置两个节点集群,但是有困难 - 它到目前为止已经工作了.Cassandra版本:2.1.1.

主机操作系统:Centos 6.5 64位

Java:8(Oracle)

节点数:2

节点地址:192.168.0.41和192.168.0.43(静态)

两个盒子上的防火墙都打开了端口:7000,9042,9160,7199

我做了以下设置集群:

将两个框上的cluster_name更改为"MyCluster",在cassandra.yaml和表中都如此处所述:

cassandra - 已保存的群集名称Test Cluster!=已配置的名称

将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
Run Code Online (Sandbox Code Playgroud)

就好了,继续运行,我也可以用cqlsh连接并运行

describe keyspaces;
Run Code Online (Sandbox Code Playgroud)

这也有效.但是,当我同时运行两个节点时,其中一个节点会在一两分钟后死亡.

确切的症状是:节点仍然响应cqlsh命令描述键空间很好,所以它有点活着,但是当尝试做nodetool状态后,会在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)
         ....
Run Code Online (Sandbox Code Playgroud)

另一个节点继续正常运行并且它自己报告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
Run Code Online (Sandbox Code Playgroud)

知道什么可能是错的吗?谢谢

Job*_*bin 6

请参阅: 在VMWare上启动集群中的Cassandra节点时,如何解决节点令牌冲突问题?

"确保删除位置信息目录,其中包含有关群集的数据"

我删除了以下文件夹然后它工作正常

  1. /home/db/cassandra/apache-cassandra-2.1.2/data/data
  2. /home/db/cassandra/apache-cassandra-2.1.2/data/commitlog
  3. /home/db/cassandra/apache-cassandra-2.1.2/data/saved_caches