監控Hadoop指標
作者:尹正傑
版權聲明:原創作品,謝絕轉載!否則將追究法律責任。
一.hadoop 2指標概述
Hadoop 2的指標及其記錄系統在性能調查和調試過程中非常有用。與在單個服務器上運行數據庫來進行監視和故障排除相比,hadoop的分布式架構使其難以監視集群並診斷問題。
hadoop的應用程序日志和作業指標提供了有關作業的情況,但是缺少每個作業或每個任務的磁盤和網絡使用指標。類似地,任務或應用程序的集群級資源利用率也不可用。因此,原始日志和指標在原始狀態下不是非常有用。
有幾個開源監控監控系統開課幫助我們將hadoop提供的指標和日志整合到服務器相關的性能摘要和圖標以及報警中。
除了Ganglia之外,可能還需要考慮諸如Chukwa之類的工具,Chukwa是用於監控大型分布式系統的數據收集系統,其可幫助我們不熟和管理hadoop集群的Apache Ambari。
hadoop用於各個服務的Web UI(如NameNode Web UI和DataNode Web UI),依賴於hadoop自動收集的內部指標,監視這些服務的運行狀況。
hadoop將其指標分組到幾個命名上下文中,例如用於Java虛擬機指標的JVM上下文和用於調試RCP調用的rpc。
hadoop指標是寶貴的實時和歷史信息資源,可幫助我們排除潔群性能問題,並排查與Hadoop服務及其支持的應用程序相關的問題。在這種情況下,區分Hadoop指標與MapReduce作業計數器很重要。
(1)MapReduce作業計數器提供一些諸如應用程序讀取和寫入的總字節數的信息,而Hadoop指標具有更廣泛的關注點,並顯示所有有關hadoop服務的信息,如NameNode,JournalNode和DataNode,以及用戶和組相關信息;
(2)管理員可以查看MapReduce計數器,以了解諸如運行緩慢的MapReduce作業等問題。
(3)Hadoop指標應用更廣泛,可以這么說,它可以幫助解決和調整所有范圍的管理問題,例如NameNode啟動時間,身份驗證失敗,當前連接數,文件創建和刪除操作,當前空閑時間等。
二.Hadoop指標類型
Hadoop守護進程可以產生的各種指標,我們可以使用這些指標來了解集群的運行情況。例如,JVM指標(如GcCount和GcTimeMillis)顯示高JVM內存活動,而高ThreadsWaiting計數意味着JVM可能需要額外的內存。
DFS相關的指標可以告訴你集群中是否有大量的文件創建和刪除操作。RPC指標顯示是否有任何可疑的身份驗證嘗試,其他一些指標可以指出系統內存,CPU或本地和HDFS存儲的使用率等。
Hadoop的守護進程的指標根據它們所屬的上下文可以分為不同的組,如下所示。
1>.JVM指標
這些指標由集群中運行的JVM產生,包括JVM堆大小(MemHeapUsedM)和垃圾回收相關指標,例如當前對內存的使用情況和總GC計數(GcCount)。
2>.RPC指標
RCP上下文中的指標包括主機名和端口等,還包括諸如發送字節數(SentBytes),當前打開連接數(NumOpenConnections)和認證失敗次數(RpcAuthenticationFailures)等指標。
3>.DFS指標
DFS上下文中包括與NameNode,HDFS文件系統,DataNodes和JournalNodes相關的指標。
(1)NameNode相關的DFS指標顯示創建的文件總數(CreateFileOps)以及啟動NameNode(FsImageLoadTime)后加載fsimage文件所需的時間;
(2)FSNameSystem質保顯示HDFS塊和HDFS容量相關信息,例如當前丟失塊數(MissingBlocks),當前損失塊數(CorruptBlocks)以及所有DataNodes(CapacityUsedGB)中當前使用的容量;
(3)JournalNode相關指標包括同步延遲信息以及數量和寫入字節數等信息;
(4)DataNode指標顯示讀取和寫入的數據庫塊數據量信息,每次操作的平均時間和卷故障總數信息。
4>.YARN度量
YARN上下文中的指標包括集群信息,例如活動和不健康的NodeManagers的當前數量,以及ResourceManager應用程序隊列相關的信息,例如當前運行的應用程序(AppsRunning)和當前的活動用戶(ActiveUsers)。
YARN上下文中還包括NodeManager指標,例如已啟動,已殺死和失敗的容器總數,以及當前分配的和可用的內存。
5>.用戶和組指標
與用戶和組有關的指標信息,例如成功和失敗的Kerberos登錄總數以及組解析次數。
6>.默認上下文
顯示NameNode啟動的統計信息,並顯示NameNode啟動過程的各個階段所需的精確時間,例如加載fsimage和edits文件,檢查點保存,以及使NameNode脫離安全模式所需的時間。
三.收集文件系統的指標
要收集指標並使用它們進行調優和故障排除,必須配置各種Hadoop守護程序,以指定的時間間隔收集指標,並輸出指標。可以使用插件輸出指標。Hadoop守護程序產生的指標稱為sources,插件稱為sinks。因此,sources產生數據,sinks消耗數據或輸出數據。 可以使用各種類型的插件,默認使用FileContex,它將指標寫入文件,NullContext丟失指標,GangliaContext會將指標發送到Ganglia監控系統。 為了獲取由Hadoop生成的指標,需要配置"${HADOOP_HOME}/etc/hadoop/hadoop-metrics2.properties"文件,其默認配置如下圖所示。 博主推薦閱讀: https://www.cnblogs.com/yinzhengjie2020/p/13829436.html