Cassandra 有什么解决办法吗;nodetool:无法连接到';127.0.0.1:7199';-连接异常:';拒绝连接(拒绝连接)和#x27&引用;?

Cassandra 有什么解决办法吗;nodetool:无法连接到';127.0.0.1:7199';-连接异常:';拒绝连接(拒绝连接)和#x27&引用;?,cassandra,nodetool,Cassandra,Nodetool,在mycassandra集群中,所有节点都可用 但对于一个节点,当我检查状态时,它显示如下: "nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'." 正如我看到的一些更正,我在设置JVM\u OPTS=“$JVM\u OPTS-Djava.rmi.server.hostname=127.0.0.1”后尝试重

在my
cassandra
集群中,所有节点都可用

但对于一个节点,当我检查状态时,它显示如下:

"nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'."
正如我看到的一些更正,我在设置
JVM\u OPTS=“$JVM\u OPTS-Djava.rmi.server.hostname=127.0.0.1”
后尝试重新启动了cassandra服务。但它再次给予了与以下相同的地位:

"nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'."

是否有人可以建议其他解决方案?

您是否可以使用正在运行的实际
nodetool status
命令编辑您的问题

您是否也在使用标准的、默认的
cassandra env.sh
文件?还是已经改变了?关于本地/远程JMX,有如下逻辑检查:

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

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 -Dcassandra.jmx.remote.port=$JMX_PORT"
  ...
StartupChecks.java:176 - JMX is enabled to receive remote connections on port: 7199
首先,
LOCAL_JMX
在默认情况下没有定义。因此,如果要启用远程JMX,则需要调整代码。其次,需要在正确的部分中调整rmi.server.hostname

启用远程JMX还允许JMX在本地机器上工作。但其思想是所使用的端口(默认情况下为7199)与Cassandra节点本身绑定到同一IP

本质上,如果要注释掉本地/远程
if
构造,这些设置应该允许JMX(和nodetool)运行。注:假设外部IP地址为10.2.3.5

JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.remote.port=$JMX_PORT"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT"
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=10.2.3.5"
基本上,
rmi.server.hostname
应该与用于连接到节点的IP匹配

如果仍然存在问题,请首先检查
系统日志。在启动时,每个节点都应该有这样一行:

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

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 -Dcassandra.jmx.remote.port=$JMX_PORT"
  ...
StartupChecks.java:176 - JMX is enabled to receive remote connections on port: 7199
或:


您能否使用正在运行的实际
nodetool status
命令编辑您的问题

您是否也在使用标准的、默认的
cassandra env.sh
文件?还是已经改变了?关于本地/远程JMX,有如下逻辑检查:

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

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 -Dcassandra.jmx.remote.port=$JMX_PORT"
  ...
StartupChecks.java:176 - JMX is enabled to receive remote connections on port: 7199
首先,
LOCAL_JMX
在默认情况下没有定义。因此,如果要启用远程JMX,则需要调整代码。其次,需要在正确的部分中调整rmi.server.hostname

启用远程JMX还允许JMX在本地机器上工作。但其思想是所使用的端口(默认情况下为7199)与Cassandra节点本身绑定到同一IP

本质上,如果要注释掉本地/远程
if
构造,这些设置应该允许JMX(和nodetool)运行。注:假设外部IP地址为10.2.3.5

JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.remote.port=$JMX_PORT"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT"
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=10.2.3.5"
基本上,
rmi.server.hostname
应该与用于连接到节点的IP匹配

如果仍然存在问题,请首先检查
系统日志。在启动时,每个节点都应该有这样一行:

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

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 -Dcassandra.jmx.remote.port=$JMX_PORT"
  ...
StartupChecks.java:176 - JMX is enabled to receive remote connections on port: 7199
或: