学Linux - 上红联!
Linux系统教程_红联Linux门户
Linux帮助

JConsole/JvisualVM远程连接失败处理

时间:2017-10-03来源:cnblogs.com/scofield-1987 作者:从精于一开始
今天在使用JConsole进行远程连接时,发现IP和端口在Windows下是可以远程telnet的,但是,使用JConsole时却无法连接。
 
我的环境如下:
Windows下运行JConsole,准备远程连接Ubuntu 16.04下的一个测试的Java进程;
Ubuntu 16.04 运行了一个Java进程,其运行的参数如下:
java -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 进程名
于是,我直接在Windows下运行JvisualVM,然后输入ip+端口进行连接,收到了如下错误:
JConsole/JvisualVM远程连接失败处理
 
我的处理过程:
1.检查linux的防火墙是否关闭;ufw status,如果是active的,运行 sudo ufw disable来禁用防火墙;
JConsole/JvisualVM远程连接失败处理
2.检查在Windows下是否能够telnet 8999端口; 运行cmd,然后在cmd中敲入:telnet 192.168.197.136 8999,如下截图表示不通,这时请关闭Linux防火墙或者配置防火墙规则,打开8999端口;
JConsole/JvisualVM远程连接失败处理
3.上述两步都完成以后(关闭防火墙,且能telnet 8999端口),如果还不能访问,就进行如下的操作,查看hostname -i 是不是当前服务器的IP地址,如果不是,跳到第四步;
JConsole/JvisualVM远程连接失败处理
4.修改hostname对应的IP地址:sudo vi /etc/hosts,修改完之后,重新运行hostname -i,应该就是当前服务器的IP了。
JConsole/JvisualVM远程连接失败处理
至此,再次运行服务器上的java进程,通过JvisualVM的远程访问功能就能访问和监控Java进程的相关情况了。
JConsole/JvisualVM远程连接失败处理
 
本文永久更新地址:http://www.linuxdiyf.com/linux/32717.html
------分隔线------