2016-05-30 28 views
0

我正在使用mac osx。我通过virtualbox创建了3个虚拟框。我已经在每个虚拟盒子上安装了centos7最低版本。 然后我在每个盒子上安装了cassandra。安装完成后,它由cqlsh和nodetool status命令启动。 但后来当我试图相互链接和编辑cassandra.yaml文件后,它开始呈现出cassandra 3.4在虚拟盒子上不能启动

('Unable to connect to any servers', {'127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")}) 

我已经编辑了cassandra.yaml文件,如下所示:

cluster_name: 'Home Cluster' 
num_tokens: 256 
partitioner: org.apache.cassandra.dht.Murmur3Partitioner  
- seeds: "192.168.56.102,192.168.56.103" 
storage_port: 7000  
listen_address: 192.168.56.102 
rpc_address: 192.168.56.102 
rpc_port: 9160 
endpoint_snitch: SimpleSnitch 

我的/ etc/hosts文件包含:

192.168.56.102 node01 
192.168.56.103 node02 
192.168.56.104 node03 

请告诉我我最近怎么了?我的cassandra集群不工作。

解决方案:我从AKKI那里得到了解决方案。问题是enpoint_snitch。我做了endpoint_snitch = GossipingPropertyFileSnitch并修复了它。我现在输出如下:

[[email protected] ~]# nodetool status 
Datacenter: dc1 
=============== 
Status=Up/Down 
|/ State=Normal/Leaving/Joining/Moving 
-- Address   Load  Tokens  Owns (effective) Host ID        Rack 
UN 192.168.56.101 107.38 KB 256   62.5%    0526a2e1-e6ce-4bb4-abeb-b9e33f72510a rack1 
UN 192.168.56.102 106.85 KB 256   73.0%    0b7b76c2-27e8-490f-8274-571d00e60c20 rack1 
UN 192.168.56.103 83.1 KB 256   64.5%    6c8d80ec-adbb-4be1-b255-f7a0b63e95c2 rack1 
+0

简单测试。从命令行中的每个虚拟框中,请确保您可以使用IP(192.168.56.xxx)ping其他两个Cassandra。我怀疑这是一个简单的网络问题 – doanduyhai

+0

是的,我可以ping通成功。一切都好。我可以通过SSH互相访问每个节点。我真的想完成群集。但只是在这里困住。无法找到任何解决方案。 – wind

+0

请发布'/ var/log/cassandra/system.log'的摘录来查看整个异常堆栈跟踪 – doanduyhai

回答

0

我曾面临类似的问题, 我尝试以下解决方案:

如果您有Cassandra.yaml文件检查,

start_rpc = true 

改变了我端点报到

endpoint_snitch: GossipingFilePropertySnitch 

打开Cassandra使用的所有端口我的CentOS

Cassandra inter-node ports 
Port number Description 
7000 Cassandra inter-node cluster communication. 
7001 Cassandra SSL inter-node cluster communication. 
7199 Cassandra JMX monitoring port. 


Cassandra client port 
Port number Description 
9042 Cassandra client port. 
9160 Cassandra client port (Thrift). 

命令打开端口在CentOS 7(根据您的操作系统找到它):

>sudo firewall-cmd --zone=public --add-port=9042/tcp --permanent 
>sudo firewall-cmd –reload 

然后重新启动系统

而且似乎你正在改变卡桑德拉。 Yaml文件启动cassandra后。 确保您在启动Cassandra之前在所有节点上编辑您的Cassandra.yaml文件 还请记住首先启动种子节点。

+0

非常感谢。它的工作现在。问题是endpoint_snitch:GossipingFilePropertySnitch ..非常感谢您解决问题。 :) :) – wind

+0

是的 它似乎现在工作。 很高兴帮助:) – Akki

+0

你好,亲爱的,我用你的解决方案编辑了我的问题,并写出了输出。请重新加载问题并检查输出结果。它显示每个节点拥有62%,73%,6​​4%。可以吗?我认为应该是33,33,33%。这是对的吗 ?? – wind