在使用本地Java VisualVM连接测试服务器上的JVM时出现提示
无法使用service:jmx:rmi:///jndi/rmi://***.***.***.***:****连接到***.***.***.***:****
但是telnet ip 端口发现网络是通的
啪的我就百度了一下,很快嗷
1.有的说是因为Linux防火墙的原因?
使用systemctl stop firewalld.service, 提示 systemctl命令不存在...
2.有人说是因为VisualVM走了默认走了ipv6,但是JMX server所在服务器不支持?
给VisualVM添加启动参数 -Djava.net.preferIPv4Stack=true,然而依旧没有什么卵用
3.又查到有人说JMX server监听指定的端口号外,JMXserver还会监听一到两个随机端口号,可能是这两个端口号网络不通
那么这两个端口是啥呢,可以执行以下命令来查看
#1.找到进行PID
netstat -npl|grep <你设定的JMX监听端口号>
#2.根据上面命令找到的进程PID
lsof -i|grep <上面命令得到的PID>
lsof -i命令执行后可能不会立马有内容,多等一会就可以啦~
有了执行结果后,进行稍微一番分析应该就能知道另外两个端口是啥啦~找到这两个随机随机端口之后,开通网络!
后来就连上啦!成功!