You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cassandra 4.0/4.1 Remote JMX无法远程连接问题求助

Cassandra 4.x远程Nodetool连接失败问题解决

问题根源

Cassandra 4.0及以上版本引入了本地JMX绑定默认配置,即使你在jvm.options中设置了-Dcom.sun.management.jmxremote.host=<IP>,默认情况下JMX服务仍会绑定到127.0.0.1——这是因为cassandra-env.sh中默认启用了LOCAL_JMX=yes,该配置会覆盖JMX的监听地址设置。而Cassandra 3.x版本没有这个默认限制,所以相同配置下3.x能正常监听指定IP。

解决方案

  1. 修改cassandra-env.sh配置文件
    找到文件中关于LOCAL_JMX的配置块,将默认的LOCAL_JMX=yes改为LOCAL_JMX=no:

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

    或者直接在文件开头添加环境变量声明:

    export LOCAL_JMX=no
    
  2. 确认jvm.options配置有效性
    确保以下配置正确设置(替换<IP>为你的节点公网/内网IP):

    -Dcom.sun.management.jmxremote.port=7199
    -Dcom.sun.management.jmxremote.rmi.port=7199
    -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.authenticate=false
    -Dcom.sun.management.jmxremote.host=<IP>
    -Djava.rmi.server.hostname=<IP>
    

    注意:建议将jmxremote.rmi.port与jmxremote.port设为相同值,减少端口配置复杂度。

  3. 重启Cassandra服务

    sudo systemctl restart cassandra
    

    重启后执行netstat -ntlp检查,确认7199端口已监听在指定IP或0.0.0.0(所有地址):

    tcp        0      0 <IP>:7199              0.0.0.0:*               LISTEN      -
    
  4. 验证远程连接
    执行远程nodetool命令测试:

    nodetool -h <IP> status
    

    此时应能正常返回节点状态信息。

内容的提问来源于stack exchange,提问作者Aliasgar Choolawala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 01:04:56