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

Mac安装Cassandra后遇‘JMX未启用远程连接’问题求助

解决Mac上Cassandra的JMX远程连接报错问题

当Cassandra启动时出现以下报错:

JMX is not enabled to receive remote connections.
Please see cassandra-env.sh for more info.

按以下步骤修改cassandra-env.sh配置:

1. 确认文件路径(Mac环境)

如果是通过Homebrew安装的Cassandra,配置文件路径通常是:

  • Intel芯片:/usr/local/etc/cassandra/cassandra-env.sh
  • M1/M2芯片:/opt/homebrew/etc/cassandra/cassandra-env.sh

如果你的路径确实是/etc/cassandra/,直接用你之前的命令打开即可:

nano /etc/cassandra/cassandra-env.sh

2. 修改JMX配置

在打开的文件中,找到以下关键配置段:

步骤1:启用JMX端口

找到被注释的JMX_PORT="7199",去掉前面的#号,确保端口开启:

JMX_PORT="7199"

步骤2:开启远程JMX连接

找到LOCAL_JMX的配置行,默认是LOCAL_JMX="yes",将其改为"no":

LOCAL_JMX="no"

如果是测试环境不需要认证,可以修改认证相关配置为关闭(跳过密码验证):
找到以下代码段:

# if [ "$LOCAL_JMX" = "yes" ]; then
#   JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.local.port=$JMX_PORT"
#   JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
# else
#   JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
#   JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"
#   JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.access.file=/etc/cassandra/jmxremote.access"
# fi

修改后确保else块中的authenticate=false,或者直接调整为:

if [ "$LOCAL_JMX" = "yes" ]; then
  JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.local.port=$JMX_PORT"
  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
else
  JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
fi

3. 保存并退出文件

在nano编辑器中:

  • 按Ctrl+O,回车确认保存
  • 按Ctrl+X退出编辑器

4. 重启Cassandra服务

根据你的安装方式重启服务:

  • Homebrew安装:
brew services restart cassandra
  • 其他方式:
sudo systemctl restart cassandra

注意事项

  • 生产环境建议开启JMX认证,需要配置jmxremote.password和jmxremote.access文件,设置合法的用户名和权限
  • 确保Mac防火墙开放7199端口,避免远程连接被拦截

内容的提问来源于stack exchange,提问作者Nii Joshua

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:00:56