我创建了 Cassandra 集群 v4.0.0 和 v4.1.0。以下是 jvm.options 文件的配置:
-Dcom.sun.management.jmxremote.port=7199
-Dcom.sun.management.jmxremote.rmi.port=7188 (tried with port 7199 too)
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.host=<IP>
-Djava.rmi.server.hostname=<IP>
我们面临的问题是:
nodetool status
运行良好(没有-h
选项)
nodetool -h <IP>
状态不起作用。错误是这样的:
nodetool: Failed to connect to '<IP>:7199' - ConnectException: 'Connection refused (Connection refused)'.
netstat -ntlp
输出:
admin@ip-xx-xx-xx-xx:~$ netstat -ntlp
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.54:53 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5012 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5000 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5001 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6062 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6162 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:8126 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:7199 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 :::5355 :::* LISTEN -
tcp6 0 0 ::1:25 :::* LISTEN -
端口 7199 正在本地主机上侦听 Cassandra v4.x,但它侦听 Cassandra v3.11.13
两个版本的配置相同
这可能是什么问题?有人可以帮忙吗?
节点配置不正确,这就是为什么 JMX 和
nodetool
仅适用于默认 localhost
地址。
文件
jvm.options
一直使用到 Cassandra 3.11,但在添加对 Java 11 的支持后,它在 C* 4.0 中被 jvm-server.options
取代 (CASSANDRA-9608)。从此以后,conf/cassandra-env.sh
和bin/cassandra.in.sh
不再使用jvm.options
。
无论如何,我们建议您在
cassandra-env.sh
中配置远程 JMX 访问,大多数管理员都希望在其中进行配置。干杯!