Linux 没有可能连接到远程IP的JMX连接,但在另一台机器上它可以工作
情况: 我们有一个虚拟机,其实例应用程序使用Java jre 1.6.37运行 所有实例在linux虚拟机上都有一个虚拟IP和一个自己的主机名,我可以将其视为eth0:1 eth0:2等。 还有主机中所有实例的条目 现在,对于其中一个实例,我将JMX监视参数添加到wrapper.conf:Linux 没有可能连接到远程IP的JMX连接,但在另一台机器上它可以工作,linux,networking,jmx,Linux,Networking,Jmx,情况: 我们有一个虚拟机,其实例应用程序使用Java jre 1.6.37运行 所有实例在linux虚拟机上都有一个虚拟IP和一个自己的主机名,我可以将其视为eth0:1 eth0:2等。 还有主机中所有实例的条目 现在,对于其中一个实例,我将JMX监视参数添加到wrapper.conf: wrapper.java.additional.7=-Dcom.sun.management.jmxremote wrapper.java.additional.8=-Dcom.sun.management.
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)
问题:
我重新启动了应用程序,并尝试从一台带有JDK的Windows PC上使用JConsole连接到该应用程序。
无法连接。
当我在机器上使用telnet和端口6423时,我可以连接
分析尝试
我们还将JDK复制到那个linux机器上,并在那里进行了尝试,得到了相同的结果。
因此,我访问了另一个虚拟机,其中同样的应用程序正在使用虚拟IP等实例运行。
在那里,连接是可能的
对于第一个VM,没有防火墙阻止连接或类似的东西。
netstat-an | grep6423
也告诉我它是监听
我不知道为什么它在一个虚拟机上工作,而在另一个虚拟机上工作,也不使用本地名为jconsole的虚拟IP和端口6423