wiki:waue/2011/0127

chukwa 研究

眾所周知, hadoop 是運行在分佈式的集群環境下,同是是許多用戶或者組共享的集群,因此任意時刻都會有很多用戶來訪問 NN 或者 JT ,對分佈式文件系統或者 mapreduce 進行操作,使用集群下的機器來完成他們的存儲和計算工作。當使用 hadoop 的用戶越來越多時,就會使得集群運維人員很難客觀去分析集群當前狀況和趨勢。比如 NN 的內存會不會在某天不知曉的情況下發生內存溢出,因此就需要用數據來得出 hadoop 當前的運行狀況。

Chukwa 就是利用了集群中的幾個進程輸出的日誌,如 NN,DN,JT,TT 等進程都會有 log 信息,因為這些進程的程序裡面都調用 log4j 提供的接口來記錄日誌,而到底日誌的物理存儲是由 log4j.properties 的配置文件來配置的,可以寫在本地文件,也可以寫到數據庫。 Chukwa 就是來控制這些日誌的記錄,由 chukwa 程序來接替這部分工作,完成日誌記錄和採集工作。 Chukwa 由以下幾個組件組成:

Agents run on each machine and emit data. 收集各個進程的日誌,並將收集的日誌發送給 collector
Collectors receive data from the agent and write it to stable storage. 收集 agent 發送為的數據,同時將這些數據保存到 hdfs 上
MapReduce jobs parsing and archiving the data. 利用 mapreduce 來分析這些數據
HICC the Hadoop Infrastructure Care Center; a web-portal style interface for displaying data. HICC 將數據展現出來
  • DumpTool 將結果下載保存到 mysql 數據庫

搭建、運行Chukwa要在Linux環境下,要安裝MySQL數據庫,在Chukwa/conf目錄 中有2個SQL腳本 aggregator.sql、database_create_tables.sq l 導入MySQL數據庫,此外還要有Hadoo的HDSF運行環境,

http://incubator.apache.org/chukwa/docs/r0.4.0/images/datapipeline.png http://incubator.apache.org/chukwa/docs/r0.4.0/images/components.gif

http://blog.csdn.net/lance_123/archive/2011/01/23/6159325.aspx http://blog.csdn.net/vozon/archive/2010/09/03/5861518.aspx

Last modified 14 years ago Last modified on Jan 27, 2011, 3:59:34 PM