跳到主要内容
版本:v1.5.x

监控:Hadoop

对Hadoop的JVM虚拟机的通用性能指标进行采集监控

使用协议:JMX

监控前操作

您需要在 Hadoop 应用开启 JMX 服务,HertzBeat 使用 JMX 协议对Hadoop中的 JVM 进行指标采集。

Hadoop应用开启JMX协议步骤

应用启动时添加JVM参数 ⚠️注意可自定义暴露端口,对外IP

  • 1.进入hadoop-env.sh配置文件,在命令行终端输入以下命令:
vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
  • 2.添加如下参数,<port> 为自定义暴露端口号。
export HADOOP_OPTS= "$HADOOP_OPTS
-Djava.rmi.server.hostname=对外ip地址
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false "
  • 3.保存并退出,并在 $HADOOP_HOME/sbin 目录下执行 start-all.sh 重启服务。

配置参数

参数名称参数帮助描述
监控Host被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。
任务名称标识此监控的名称,名称需要保证唯一性。
查询超时时间设置JVM连接的超时时间,单位ms毫秒,默认3000毫秒。
用户名JMX连接用户名
密码JMX连接密码
采集间隔监控周期性采集数据间隔时间,单位秒,可设置的最小间隔为30秒
是否探测新增监控前是否先探测检查监控可用性,探测成功才会继续新增修改操作
描述备注更多标识和描述此监控的备注信息,用户可以在这里备注信息

采集指标

指标集合:memory_pool

指标名称指标单位指标帮助描述
name指标名称
committedkb总量
initkb初始化大小
maxkb最大
usedkb已使用

指标集合:code_cache (限JDK8及以下)

指标名称指标单位指标帮助描述
committedkb总量
initkb初始化大小
maxkb最大
usedkb已使用

指标集合:class_loading

指标名称指标单位指标帮助描述
LoadedClassCount已加载类数量
TotalLoadedClassCount历史已加载类总量
UnloadedClassCount未加载类数量

指标集合:thread

指标名称指标单位指标帮助描述
TotalStartedThreadCount已经开始的线程数量
ThreadCount线程数
PeakThreadCount未加载类数量
DaemonThreadCount守护进程数
CurrentThreadUserTimems使用时间
CurrentThreadCpuTimems使用CPU时间