可以使用OpsCenter连接到Cassandra集群,但不能通过DevCenter或Java连接到Cassandra集群

时间:2014-02-14 23:13:04

标签: java cassandra ubuntu-13.10 opscenter

卡桑德拉诺布在这里。我做过在线培训,不需要本地主机连接。现在我已经拔出了一些旧计算机并将它们设置为集群,但我无法通过DevCenter或使用Java驱动程序连接它们。

我使用OpsCenter来设置群集,希望我不需要进行任何手动配置,但似乎需要一些手动配置。

我使用OpsCenter 4.0.3创建了一个包含四个节点的Community 2.0.3群集。所有四个节点都连接到群集。 OpsCenter将它们全部看到并将它们显示为活动状态。所有四个节点都运行Ubuntu Desktop 13.10。我已使用OpsCenter Schema选项卡成功添加了密钥空间。

Nmap显示没有任何节点打开端口9042,所以在我看来,客户端代理没有在端口上侦听是个问题。

根据DataStax的某个人的建议,我在其中一个节点(种子节点上)编辑了cassandra.yaml文件,并将rpc_address设置为节点ip地址(即:192.168.0.123)。我从OpsCenter重新启动了节点,但没有效果。

然后我编辑了cassandra.yaml并将listen_address更改为节点地址,并从OpsCenter重新启动了节点,再次无济于事。

显然,我错过了沿线的某个步骤。任何成功启动Cassandra集群的人都知道我在忽视什么?

2 个答案:

答案 0 :(得分:1)

编辑cassandra.yaml,找到包含rpc_address的行,取消注释并将其设置为: rpc_address:0.0.0.0

如果您使用datastax安装cassandra,可以在/ etc / cassandra中找到cassandra.yaml

答案 1 :(得分:1)

检查以下设置是否已打开(至少有一个)C *节点:

  1. start_native_transport: true
  2. native_transport_port: 9042
  3. rpc_address: IP - 您可以从运行DevCenter的计算机ping IP。
  4. 重新启动节点后,请确保您可以实际连接到该节点:telnet IP 9042。如果你不能,你可能没有编辑正确的cassandra.yaml