基于Hadoop的數據收集系統 - Chukwa
什么是 Chukwa,簡單的說它是一個數據收集系統,它可以將各種各樣類型的數據收集成適合 Hadoop 處理的文件保存在 HDFS 中供 Hadoop 進行各種 MapReduce 操作。Chukwa 本身也提供了很多內置的功能,幫助我們進行數據的收集和整理。
Chukwa是由Yahoo貢獻,基于Hadoop的大集群監控系統,可以用他來分析和收集系統中的數據(日志)。Chukwa運行HDFS中存儲數據的收集器和MapReduce框架之上,并繼承了Hadoop的可擴展性和魯棒性, Chukwa使用MapReduce來生成報告,他還包括一個用于監測和分析結果顯示的web-portal工具,通過web-portal工具使這個收集數據的更佳具有靈活性,這點有點像是類似 linux工具,例如:awk 。這幾乎是一個日志處理/分析的full stack solution,國內用hadoop做日志分析的,或者將要做日志分析的可以關注下。
搭建、運行Chukwa要在Linux環境下,要安裝MySQL數據庫,在Chukwa/conf目錄 中有2個SQL腳本 aggregator.sql、database_create_tables.sq l 導入MySQL數據庫,此外還要有Hadoo的HDSF運行環境,Chukwa的整個系統架構如圖所示:
Chukwa 由哪幾個組件組成的?
Chukwa是Yahoo開發的Hadoop之上的數據采集/分析框架,主要用于日志采集/分析。該框架提供了采集數據的Agent,由Agent采集數據通過HTTP發送數據給Cluster的Collector,collector把數據sink進Hadoop,然后通過定期運行Map reducer來分析數據,將結果呈現給用戶。
Chukwa 有以下4個主要的組成部分:
Agent 收集各服務器的數據
Collectors 接收agent的數據;并寫進存儲
MapReduce jobs 歸檔數據
HICC 就是 Hadoop Infrastructure Care Center的四個英文單詞的縮寫,簡單來說是個Web工程用于ChukWa的內容展示。
幾個部件大致的處理流程如下: