最近笔者在学习JVM相关知识,正当笔者觉得前期的基础知识储备足够准备实操的档口,第一步就差点腰斩,特此记录此次踩坑,给出最终解决方案,避免再入坑。
1、设置hostname
vim /etc/hosts
xx.xx.xx.xx(此处为ip) jadezhang
使用hostname -i 查看,出现主机ip才行
2、下载catalina-jmx-remote.jar包,放到tomcat/lib/目录下,下载链接 http://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina-jmx-remote
3、编辑tocmat/conf/server.xml, 添加监听端口
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />
4、添加访问控制文件
cd ./conf
touch jmxremote.password
vim jmxremote.password
admin letmein
格式:用户名 密码
touch jmxremote.access
admin readwrite
在$JAVA_HOME/jre/lib/management目录下有模板,文档说明: org.apache.catalina.mbeans.JmxRemoteLifecycleListener”>http://tomcat.apache.org/tomcat-8.0-doc/config/listeners.html#JMX_Remote_Lifecycle_Listener-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener
5、修改tomcat启动JAVA_OPTS配置
vim ./bin/catalian.sh
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=xx.xx.xx.xx -Dcom.sun.management.jmxremote.password.file=$CATALINA_BASE/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=$CATALINA_BASE/conf/jmxremote.access -Dcom.sun.management.jmxremote.ssl=false"
其中-Djava.rmi.server.hostname=xx.xx.xx.xx 为第一步中配置的主机ip
6、重启tomcat
netstat -lntp 查看端口是否正常
7、打开visiualVM
先添加主机,第一步中配置的ip,在添加JMX连接
注意:重点内容
hostname的设置,第一步的/etc/hosts和第五步的JAVA_OPTS均要设置hostname
防火墙开启第三步中的端口