0456-如何使用Cloudera Manager为Hadoop服务角色启用远程JMX访问

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢

1

文章编写目的

JMX(Java Management Extensions,即Java管理扩展)做Java开发的人都比较熟悉,它提供了一种在运行时动态资源的监控指标。JMX主要用于配置和监控资源状态,使用它可以监视和管理Java虚拟机。本篇文章Fayson主要介绍如何使用Cloudera Manager为Hadoop服务角色启用远程的JMX访问。

测试环境

1.RedHat7.2

2.CM和CDH版本为5.13.1

2

Hadoop服务启用JMX访问

在Hadoop集群中所有基于JVM运行的服务,均可以为其启用JMX访问,这里Fayson主要选择NameNode服务为例进行说明。

1.登录CM进入HDFS服务的配置页搜索“Java 配置”

2.在“NameNode 的 Java 配置选项”的配置项中增加如下配置

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

(可左右滑动)

注意:在配置参数中指定了JMX的远程端口好9004,可以根据需要修改为其它端口。如果当前服务器有多个角色需要启用JMX则需要指定不同的端口,否则会出现口被占用问题。

完成如上配置后,根据提示重启NameNode服务即可。

3

远程访问JMX

做过Java开发的多数都使用过JDK自带的jconsole和jvisualvm监控JVM的运行情况,这里Fayson也是使用JDK自带的工具来远程的访问JMX。

1.进入JDK的安装目录下的bin目录

2.在bin目录下运行jconsole,启动界面显示如下

输入远程服务器的hostname和端口号

连接成功后,如下为jconsole的监控界面

3.运行jvisualvm命令启动监控界面

创建一个远程的JMX的连接

连接成功后显示如下界面:

4

总结

1.本文主要是基于JVM运行的Hadoop服务角色启用远程JMX访问

2.如果需要在单个主机上为多个角色启用JMX,则需要确保为每个角色设置不同的端口号,否则会无法正常启用,会出现端口已在使用问题。

提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

发布了342 篇原创文章 · 获赞 14 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Hadoop_SC/article/details/104097455