Nodetool命令在同一群集中的远程主机上使用时会出现问题

时间:2017-02-06 08:17:01

标签: cassandra datastax thrift cassandra-2.0 cassandra-2.1

如果我们从同一群集中的节点为任何其他主机运行nodetool,我们就会收到错误。虽然它适用于本地主机。

nodetool -h 10.241.17.81 status 
nodetool: Failed to connect to '10.241.17.81:7199' - ConnectException: 'Connection refused'.

此处,10.241.17.81是同一群集中的远程主机。

即使在cassandra-env.sh中添加JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=10.241.17.81"并重新启动节点后,它也无法正常工作。

是否有与broadcast_rpc_address相关的内容?

rpc_address: 0.0.0.0
broadcast_rpc_address: 10.241.17.81
rpc_port: 9160
rpc_keepalive: true

1 个答案:

答案 0 :(得分:2)

您需要在cassandra-env.sh中更改以下内容:

if [ "x$LOCAL_JMX" = "x" ]; then
    LOCAL_JMX=yes

if [ "x$LOCAL_JMX" = "x" ]; then
    LOCAL_JMX=no

JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true" 

JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false" 

然后重启节点。

此外,在进行这些更改之前,请务必使用以下命令检查主机:

netstat -antp.