Cassandra集群设置出现JMX错误

3

我正在尝试建立一个Cassandra集群作为测试环境,但遇到了JMX远程连接错误。我在Cassandra FAQ页面上找到了解决我的错误的答案。


Nodetool对于任何远程主机都显示“Connection refused to host: 127.0.1.1”。这是怎么回事?

Nodetool依赖于JMX,而JMX又依赖于RMI,在交换的每一端根据需要设置自己的监听器和连接器。通常,所有这些都在幕后透明地发生,但是对于连接主机或被连接主机的名称解析不正确可能会导致交叉连接和混淆的异常。

如果您没有使用DNS,请确保两端的/etc/hosts文件正确。如果失败,请尝试在启动时将-Djava.rmi.server.hostname=$IP选项传递给JVM(其中$IP是可以从远程计算机访问的接口的地址)。


但有人能帮我如何执行-Djava.rmi.server.hostname=$IP吗?或者在hosts文件中添加什么内容?我知道在hosts中我们通常添加“IP别名”,但是要添加谁的IP和别名呢。

我不太懂Java或Linux

我目前使用的是Ubuntu v10.04和Cassandra v0.74

Sudesh

1个回答

2

谢谢您的回复, 我查看了您提供的URL,并执行了以下代码: codejava -Dcom.sun.management.jmxremote.port=8080
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false code 但是上述命令没有执行,我的命令有误吗?
- Sudesh
@Sudesh 你添加了第一个选项 -Dcom.sun.management.jmxremote 吗? - Heiko Rupp
我执行了这段代码code java -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8080
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false code并得到输出code Usage: java [-options] class [args...] (to execute a class) or java [-options] -jar jarfile [args...] (to execute a jar file) code我不知道我做错了什么。
- Sudesh
@Sudesh:除了之前的内容,您需要添加这些开关。如果Cassandra启动脚本有JAVA_OPTS环境变量的概念,则将它们添加到那里。 - Heiko Rupp
谢谢Heiko,你指明了方向。我试图在终端中执行这些命令,而我应该将它们定义在各自的配置文件中。我不需要添加上述Java命令,因为它已经存在了。对于Cassandra nodetools的工作,我必须打开bin/nodetool并在人们可以看到Java命令的末尾添加-Djava.rmi.server.hostname=$IP,这就解决了问题。再次感谢Heiko指路。 - Sudesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接