关于hadoop的运行的一些指标监控(非cdh平台的)

时间:2023-12-16 13:49:32

在hadoop-env.sh中添加:

# 在配置namenode和datanode时都会有用到JMX_OPTS的代码,是为了减少重复提取出的公共代码
export JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port"
# 在源hadoop-env.sh中存在$JMX_OPTS之前的代码,JMX_OPTS=8006表示设置jmx的端口
export HADOOP_NAMENODE_OPTS="-Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_NAMENODE_OPTS $JMX_OPTS=8006"
export HADOOP_DATANODE_OPTS="-Dhadoop.security.logger=ERROR,RFAS $HADOOP_DATANODE_OPTS $JMX_OPTS=8007"
export HADOOP_SECONDARYNAMENODE_OPTS="-Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_SECONDARYNAMENODE_OPTS $JMX_OPTS=8060"

在web页面查看只需要:

df1:50070/jmx

df2:50075/jmx

df3:50075/jmx

关于hadoop的运行的一些指标监控(非cdh平台的)

Hadoop监控项

指标信息来源:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/Metrics.html

NameNode

JVM监控项

Hadoop:service=NameNode,name=JvmMetrics

JvmMetrics 主要统计的信息包括:内存的使用状态信息; GC 的统计信息;线程的统计信息;以及事件的统计信息。

类型 指标项 说明
内存 MemNonHeapUsedM JVM 当前已经使用的 NonHeapMemory 的大小
内存 MemNonHeapMaxM JVM 配置的 NonHeapMemory 的大小
内存 MemHeapUsedM JVM 当前已经使用的 HeapMemory 的大小
内存 MemHeapMaxM JVM 配置的 HeapMemory 的大小
内存 MemMaxM JVM 运行时的可以使用的最大的内存的大小
GC GcCount GC次数
线程 ThreadsNew 当前线程的处于 NEW 状态下的线程数量
线程 ThreadsRunnable 当前线程的处于 RUNNABLE 状态下的线程数量
线程 ThreadsBlocked 当前线程的处于 BLOCKED 状态下的线程数量
线程 ThreadsWaiting 当前线程的处于 WAITING 状态下的线程数量
线程 ThreadsTimedWaiting 当前线程的处于 TIMED_WAITING 状态下的线程数量
线程 ThreadsTerminated 当前线程的处于 TERMINATED 状态下的线程数量
事件 LogFatal 固定时间间隔内的 Fatal 的数量
事件 LogError 固定时间间隔内的 Error 的数量
事件 LogWarn 固定时间间隔内的 Warn 的数量
事件 LogInfo 固定时间间隔内的 Info 的数量

FSNamesystem

Hadoop:service=NameNode,name=FSNamesystem
指标项 说明
MissingBlocks 当前遗失的block数量
ExpiredHeartbeats 失去心跳的总数量
TransactionsSinceLastCheckpoint 自上次检查点以来的事务总数
TransactionsSinceLastLogRoll 自上次编辑日志卷以来的事务总数
LastCheckpointTime 从上一个检查点以来的时间(毫秒)
CapacityTotal 当前数据节点的原始容量(以字节为单位)
CapacityUsed 当前在所有DataNode中使用的容量(以字节为单位)
CapacityRemaining 当前剩余容量(字节)
CapacityUsedNonDFS DataNodes用于非DFS目的的当前空间(以字节为单位)
TotalLoad 当前连接数
SnapshottableDirectories 可快照目录的当前数量
FilesTotal 当前文件和目录的数量
PendingDataNodeMessageCount 待机NameNode中用于以后处理的挂起的与块相关的消息的当前数量
StaleDataNodes 由于心跳延迟而标记为过期的DataNodes当前数目
Hadoop:service=NameNode,name=FSNamesystemState
指标项 说明
BlocksTotal 系统中当前分配的块数
NumLiveDataNodes 当前运行的数据节点数量
NumDeadDataNodes 当前死亡的数据节点数
VolumeFailuresTotal 所有Datanodes的卷故障总数
EstimatedCapacityLostTotal 容量故障导致的总容量损失估计

RPC

Hadoop:service=NameNode,name=RpcActivityForPort9000(需要进一步确认)
指标项 说明
ReceivedBytes 接收字节总数
SentBytes 发送字节总数
RpcQueueTimeNumOps RPC调用总数
RpcQueueTimeAvgTime RPC队列平均时间(以毫秒为单位)

NameNodeActivity

Hadoop:service=NameNode,name=NameNodeActivity
指标项 说明
CreateFileOps 创建文件的操作总数
FilesRenamed 重命名操作的总数(不是重命名的文件或目录数量)
DeleteFileOps 删除文件的操作总数

DataNode

JVM监控项

Hadoop:service=DataNode,name=JvmMetrics

JvmMetrics 主要统计的信息包括:内存的使用状态信息; GC 的统计信息;线程的统计信息;以及事件的统计信息。

类型 指标项 说明
内存 MemNonHeapUsedM JVM 当前已经使用的 NonHeapMemory 的大小
内存 MemNonHeapMaxM JVM 配置的 NonHeapMemory 的大小
内存 MemHeapUsedM JVM 当前已经使用的 HeapMemory 的大小
内存 MemHeapMaxM JVM 配置的 HeapMemory 的大小
内存 MemMaxM JVM 运行时的可以使用的最大的内存的大小
GC GcCount GC次数
线程 ThreadsNew 当前线程的处于 NEW 状态下的线程数量
线程 ThreadsRunnable 当前线程的处于 RUNNABLE 状态下的线程数量
线程 ThreadsBlocked 当前线程的处于 BLOCKED 状态下的线程数量
线程 ThreadsWaiting 当前线程的处于 WAITING 状态下的线程数量
线程 ThreadsTimedWaiting 当前线程的处于 TIMED_WAITING 状态下的线程数量
线程 ThreadsTerminated 当前线程的处于 TERMINATED 状态下的线程数量
事件 LogFatal 固定时间间隔内的 Fatal 的数量
事件 LogError 固定时间间隔内的 Error 的数量
事件 LogWarn 固定时间间隔内的 Warn 的数量
事件 LogInfo 固定时间间隔内的 Info 的数量

DataNodeActivity

Hadoop:service=DataNode,name=DataNodeActivity-dev02-50010(需要进一步确认)
指标项 说明
BytesWritten 写入DataNode的字节总数
BytesRead 读取DataNode的字节总数
ReadsFromLocalClient 从本地客户端读取操作的总数
ReadsFromRemoteClient 来自远程客户端的读取操作总数
WritesFromLocalClient 本地客户端的写操作总数
WritesFromRemoteClient 远程客户端的写操作总数
RemoteBytesRead 远程客户端读取的字节数
RemoteBytesWritten 远程客户端写入的字节数
RamDiskBytesWrite 写入内存的字节总数
VolumeFailures 发生的卷故障总数
ReadBlockOpNumOps 读操作总数
WriteBlockOpNumOps 写操作总数
ReadBlockOpAvgTime 读操作的平均时间(以毫秒为单位)
WriteBlockOpAvgTime 写操作的平均时间(以毫秒为单位)
TotalWriteTime 写操作花费的总毫秒数
TotalReadTime 读操作花费的总毫秒数

RPC

Hadoop:service=DataNode,name=RpcActivityForPort50020(需要进一步确认)
指标项 说明
ReceivedBytes 接收字节总数
SentBytes 发送字节总数
RpcQueueTimeNumOps RPC调用总数
RpcQueueTimeAvgTime RPC队列平均时间(以毫秒为单位)