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進程的相關情況了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM