JConsole/JvisualVM 远程连接失败处理
Posted 从精于一开始
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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进程的相关情况了。
以上是关于JConsole/JvisualVM 远程连接失败处理的主要内容,如果未能解决你的问题,请参考以下文章