1. 程式人生 > >Hadoop監控指標項

Hadoop監控指標項

配置

修改$HADOOP_HOME/etc/hadoop/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頁面檢視

IP 訪問地址
192.168.20.10 http://dev01:50070/jmx
192.168.20.11 http://dev02:50075/jmx
192.168.20.12 http://dev02:50075/jmx

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佇列平均時間(以毫秒為單位)