Hadoop監控指標項
阿新 • • 發佈:2018-11-28
配置
修改$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佇列平均時間(以毫秒為單位) |