visualvm连接jstatd、jmx用于hbase
===================远程连接jstatd的方法===================
echo $JAVA_HOME得到javahome目录
进入javahome的bin目录
新建文件,该文件用于打开权限
vim jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
启动jstatd,亲测下面这条语句可用,需要改下hostname
nohup ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=服务器ip地址 &
jstatd需要打开1099端口通讯,还会打开一个随机端口用于通信,这两个接口在防火墙都要打开防火墙开放这个随机端口,还有1099端口
查看下这个随机端口是多少netstat -ntlp
打开这个随机端口
iptables -t nat -A DOCKER -p tcp --dport 44272 -j DNAT --to-destination 服务器ip:端口
===================远程连接jxm的方法===================
jxm方法
在hbase的conf目录下,有脚本hbase-env.sh ,增加jvm参数,可将这些jvm参数配置在hbase-env.sh的HBASE_REGIONSERVER_OPTS中
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=20102
-Dcom.sun.management.jmxremote.rmi.port=20102
-Djava.rmi.server.hostname=服务器ip
配置的端口要需要在防火墙中打开
重启reginserver就能连接上jxm了
使用visualvm添加JMX连接即可
如下图可进行内存抽样,抽样可看到内存中对象大小占比情况
======================================
查看开放的端口
iptables -n -t nat -L
添加开放端口
iptables -t nat -A DOCKER -p tcp --dport ${port1} -j DNAT --to-destination ${ip}:${port1}
删除开放端口
iptables -t nat -D DOCKER -p tcp --dport ${port1} -j DNAT --to-destination ${ip}:${port1}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)