1

情况:我们有一个使用 Java jre 1.6.37 运行的带有实例化应用程序的 VM 所有实例在该 linux VM 上都有一个虚拟 IP 和一个自己的主机名,我可以看到 eth0:1 eth0:2 等。还有所有条目主机中的实例

现在对于其中一个实例,我将 JMX 监控参数添加到 wrapper.conf:

wrapper.java.additional.7=-Dcom.sun.management.jmxremote
wrapper.java.additional.8=-Dcom.sun.management.jmxremote.port=6423
wrapper.java.additional.9=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.10=-Dcom.sun.management.jmxremote.authenticate=false

(我们还尝试添加:-Djava.rmi.server.hostname=YOUR_IP YOUR_APP)

问题:

我重新启动了应用程序并尝试使用 JConsole 从带有 JDK 的 Windows PC 连接到该应用程序。无法连接。当我在机器上 telnet 和端口 6423 时,我可以连接。

分析尝试。

我们还将 JDK 复制到那台 linux 机器上,并在那里进行了尝试,结果相同。所以我拿了另一个虚拟机,同样的应用程序也在使用虚拟 IP 等实例运行。在那里连接是可能的。

对于第一个 VM,没有防火墙阻止连接或类似的东西。netstat -an |grep 6423也告诉我它是LISTEN

我不知道为什么它在一个虚拟机上工作,但在另一个虚拟机上却没有,也没有本地调用 jconsole 到该虚拟 IP 和端口 6423

4

0 回答 0