JConsole/JvisualVM 远程连接失败处理

今天在使用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+端口进行连接,收到了如下错误。

 

我的处理过程:

1. 检查linux的防火墙是否关闭;ufw status,如果是active的,运行 sudo ufw disable来禁用防火墙;

2. 检查在Windows下是否能够telnet 8999端口; 运行cmd,然后在cmd中敲入:telnet 192.168.197.136 8999,如下截图表示不通,这时请关闭Linux防火墙或者配置防火墙规则,打开8999端口;

 

3. 上述两步都完成以后(关闭防火墙,且能telnet 8999端口),如果还不能访问,就进行如下的操作,查看hostname -i 是不是当前服务器的IP地址,如果不是,跳到第四步;

4. 修改hostname对应的IP地址:sudo vi /etc/hosts,修改完之后,重新运行hostname -i,应该就是当前服务器的IP了。

 

至此,再次运行服务器上的java进程,通过JvisualVM的远程访问功能就能访问和监控Java进程的相关情况了。

 

posted @ 2017-10-02 18:00  从精于一开始  阅读(12593)  评论(1编辑  收藏  举报
PS:如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”,将会是我不竭的动力! 作者:从精于一开始 不积跬步无以至千里,不积小流无以成江海。 出处:http://www.cnblogs.com/scofield-1987/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。