= chukwa 研究 = 眾所周知, hadoop 是運行在分佈式的集群環境下,同是是許多用戶或者組共享的集群,因此任意時刻都會有很多用戶來訪問 NN 或者 JT ,對分佈式文件系統或者 mapreduce 進行操作,使用集群下的機器來完成他們的存儲和計算工作。當使用 hadoop 的用戶越來越多時,就會使得集群運維人員很難客觀去分析集群當前狀況和趨勢。比如 NN 的內存會不會在某天不知曉的情況下發生內存溢出,因此就需要用數據來得出 hadoop 當前的運行狀況。 Chukwa 就是利用了集群中的幾個進程輸出的日誌,如 NN,DN,JT,TT 等進程都會有 log 信息,因為這些進程的程序裡面都調用 log4j 提供的接口來記錄日誌,而到底日誌的物理存儲是由 log4j.properties 的配置文件來配置的,可以寫在本地文件,也可以寫到數據庫。 Chukwa 就是來控制這些日誌的記錄,由 chukwa 程序來接替這部分工作,完成日誌記錄和採集工作。 Chukwa 由以下幾個組件組成: agent 收集各個進程的日誌,並將收集的日誌發送給 collector 。 Collector 收集 agent 發送為的數據,同時將這些數據保存到 hdfs 上, MR job 利用 mapreduce 來分析這些數據。 DumpTool 將結果下載保存到 mysql 數據庫。 HICC 將數據展現出來。更多信息: http://incubator.apache.org/chukwa/ [[Image(http://incubator.apache.org/chukwa/docs/r0.4.0/images/datapipeline.png)]] [[Image(http://hi.csdn.net/attachment/201101/22/0_12957139140DhK.gif)]] http://blog.csdn.net/lance_123/archive/2011/01/23/6159325.aspx