[Hadoop]chukwa與ganglia的區別
眾所周知, 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/
[img]http://hi.csdn.net/attachment/201101/22/0_12957139140DhK.gif[/img]
Ganglia 則更偏向於作業系統低層一點的監控,主要是收集叢集中的各個機器的 CPU 使用情況,記憶體使用情況,磁碟 I0, 網路 IO ,磁碟容量等,更像是 windows 的工作管理員,只不過它是管理分佈叢集機器。類似的,它也由以下元件組成:資料採集元件,每隔一段時間採集一次資料,然後將資料傳送給收集器,收集器收集好資料,再將資料儲存到資料庫,最後一個叫做 rrdtool 通過圖形化來展現資料。更值的一提的是, ganglia 更加通用性,除了收集固定的機器性性外,它還提供了相關外掛,可以插入到其他程式,如 JAVA 程式,然後可以收集起這些程式的相關資訊。
更多資訊: http://ganglia.info/
http://www.javabloger.com/article/j2ee-linux-ganglia-rrdtool-java-mysql-1.html
[img]http://hi.csdn.net/attachment/201101/22/0_1295713946veic.gif[/img]
對於深入瞭解當前平臺的狀態以及叢集中機器的執行情況, chukwa 和 ganglia 無疑是不錯的工具,可以用來去得到相關的準確資料,用來知道當前的執行狀態,為未來做決策,推斷出當前的瓶頸,以及優化相關的應用程式等。
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/
[img]http://hi.csdn.net/attachment/201101/22/0_12957139140DhK.gif[/img]
Ganglia 則更偏向於作業系統低層一點的監控,主要是收集叢集中的各個機器的 CPU 使用情況,記憶體使用情況,磁碟 I0, 網路 IO ,磁碟容量等,更像是 windows 的工作管理員,只不過它是管理分佈叢集機器。類似的,它也由以下元件組成:資料採集元件,每隔一段時間採集一次資料,然後將資料傳送給收集器,收集器收集好資料,再將資料儲存到資料庫,最後一個叫做 rrdtool 通過圖形化來展現資料。更值的一提的是, ganglia 更加通用性,除了收集固定的機器性性外,它還提供了相關外掛,可以插入到其他程式,如 JAVA 程式,然後可以收集起這些程式的相關資訊。
更多資訊: http://ganglia.info/
http://www.javabloger.com/article/j2ee-linux-ganglia-rrdtool-java-mysql-1.html
[img]http://hi.csdn.net/attachment/201101/22/0_1295713946veic.gif[/img]
對於深入瞭解當前平臺的狀態以及叢集中機器的執行情況, chukwa 和 ganglia 無疑是不錯的工具,可以用來去得到相關的準確資料,用來知道當前的執行狀態,為未來做決策,推斷出當前的瓶頸,以及優化相關的應用程式等。
相關文章
- [Hadoop]chukwa的簡單介紹Hadoop
- 【Hadoop】SNN與HA的區別Hadoop
- [Hadoop]Pig與Hive的區別HadoopHive
- Hadoop1.x與Hadoop2的區別Hadoop
- NUMA,MPP和HADOOP的區別與聯絡Hadoop
- Ganglia監控Hadoop叢集的安裝部署Hadoop
- Ganglia+Hadoop+Hbase監控搭建流程Hadoop
- 使用Ganglia對hadoop進行監控Hadoop
- hadoop和spark的區別HadoopSpark
- 高可用Hadoop平臺-Ganglia安裝部署Hadoop
- hadoop1.0 和 Hadoop 2.0 的區別Hadoop
- 從hadoop發展角度徹底明白hadoop1.x與hadoop2.x的區別Hadoop
- ??與?:的區別
- Ganglia3.1.7安裝與配置
- Hadoop 和 GBase 8a 的區別Hadoop
- hadoop發行版本之間的區別Hadoop
- Q:Spark和Hadoop的架構區別SparkHadoop架構
- 《openstack 和hadoop的區別是什麼?》Hadoop
- MySQL的@與@@區別MySql
- mybatis #與$的區別MyBatis
- Null 與 “” 的區別Null
- [hadoop]hadoop api 新版本與舊版本的差別HadoopAPI
- &與&&, |與||區別
- ganglia 監控hadoop 叢集的配置檔案問題的一個說明.Hadoop
- in與exist , not in與not exist 的區別
- CentOS 與 Ubuntu 的區別CentOSUbuntu
- artice與section的區別
- GET 與 POST 的區別
- WebSocket 與 Socket 的區別Web
- Postgresql與MySQL的區別MySql
- chown與chmod的區別
- LESS與SASS的區別
- free 與 CFRelease 的區別
- gulp與webpack的區別Web
- @Autowired 與@Resource的區別
- let與var的區別
- post與get的區別
- HashSet與HashMap的區別HashMap