【发布时间】:2011-07-19 23:41:46
【问题描述】:
我在 JDK1.6 中使用 jconsole.exe 和 JVisualVM.exe 有很多经验,并且已经通过 JMX.remote 从 Windows JVM 连接到另一台机器上的 Windows JVM 数千次,但是当我失败时它失败了尝试监控在 Linux 主机上运行的 java 实例(从 Windows 主机,我在 Redhat 和 Amazon EC2 的 SUSE 上尝试了 JMX 侦听器)。我也尝试使用 jconsole.exe 并得到类似的错误。
有没有任何人能想到的原因,为什么这种 JMX 连接会出现问题。我可以尝试任何想法吗?有没有人“实际上”做到了这一点,并且可以说如果我坚持下去就会奏效?
我从 JVisualVM 得到的错误(在远程连接尝试中)是这样的:
"Cannot connect using service:jmx:rmi:///jndi/rmi://<jmx service ip>:8001/jmxrmi"
我的远程 JMX 服务配置是这样的:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8001
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.hostname=<jmx service ip>
在this link 找到了一个类似的问题,但它没有回答我的问题。
我确认“iptables”未作为服务启用且未启用,因此我不认为存在任何形式的防火墙阻塞。此外,windows 和 linux 机器都在一个 10.0.0.0 私有内部子网上。我可以 telnet 到 8001 端口来验证它的存在,以及它在 linux 机器上的监听(netstat -ap)。
【问题讨论】:
标签: java jmx remote-debugging