ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

记一个JConsole远程连接异常的问题

2020-04-15 15:00:10  阅读:318  来源: 互联网

标签:management JAVA sun 端口 远程 JConsole Dcom 连接 OPTS


这里只说明不配置密码的方法

 

局域网liunx中tomcat - catalina.sh配置文件

JAVA_OPTS="-server -Xms1024m -Xmx1024m -Xss256k -XX:PermSize=128m -XX:MaxPermSize=256m"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=19999"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

 

死活连接不上,网上大多数都是说是hosts配置文件的问题,我这边尝试了各种方法

网上查的资料全部都是说hosts文件的问题

我这边获取

hostname -i

得到的就是内网ip(192.168.2.13)

如果不是的朋友可以用以下代码临时修改(重启失效)

hostname 192.168.2.13

但是我还是连接不上,又尝试在jvm启动的时候配置,在catalina.sh中增加配置

JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.2.13"

但是还是不行,最后在茫茫文章中看到有人指定了另一个端口

-Dcom.sun.management.jmxremote.rmi.port=19999

终于成功了!

查了相关资料,应该是java7之后做出了修改(以下文字来源于网络)

 

不过在我的工作做,此时发现仍然不能再远程访问,查询了相关资料后,有可能是防火墙的原因屏蔽了相关接口。在Java启动时,JMX会绑定一个接口,RMI也会绑定一个接口,在复杂网络环境下,有可能你通过打开防火墙允许了JMX端口的通过,但是由于没有放行RMI,远程连接也是会失败的。

这是因为JMX在远程连接时,会随机开启一个RMI端口作为连接的数据端口,很有可能这个端口会被防火墙给阻止,以至于连接超时失败。好在在Java7u25版本后可-Dcom.sun.management.jmxremote.rmi.port=端口号来定死这个端口,好消息是,你可以将这个端口和jmx.port的端口设置成一个端口,这样防火墙策略就只需要同行一个端口就可以了。




 

 

 

 

参考资料:

https://www.jianshu.com/p/414647c1179e

https://www.jianshu.com/p/b7790c9eabff

https://www.linuxidc.com/Linux/2015-02/113420.htm

 

标签:management,JAVA,sun,端口,远程,JConsole,Dcom,连接,OPTS
来源: https://www.cnblogs.com/oldboyooxx/p/12705192.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有