有沒有trace hadoop運行詳細流程的工具,可以profiling hadoop的性能瓶頸,或者可以監控比如提交job在hadoop中如何調度,相關的好工具包推薦大家也推薦下

hadoop profiling


幾年前UCBerkeley有一個用xtrace來分析hadoop的項目,你提到的細粒度的信息都能看得到。但是它是要插代碼的,而且好像很久沒有更新,可能facebook現在還在用這個。

如果你不希望改代碼的話,那麼你能看到的信息其實只有四種:

  1. 系統資源統計。用top,sysstat等工具監控整個系統資源使用情況。
  2. binary instrumentation。這方面也有很多工具,如hprof, jprof, btrace等等。特別是btrace值得看看,它可以動態的插入profile代碼。

  3. Hadoop提供的JMX bean信息。JMX是Java一個監控和管理的標準,Hadoop代碼中有部分關鍵信息通過JMX介面暴露出來。
  4. Hadoop的log。這方面有專門的Hadoop的分析工具,如Vaidya,Kahuna。其他通用的log分析工具也有很多。

另外像Ganglia啊Cacti啊這樣的集群管理工具能很方便地監控集群中每台機器的運行情況,它們可以綜合上面提到的四種信息。

還有最近Intel剛在ATC『11上也發表了一篇trace分散式系統運行情況的論文,他們的系統叫HiTune,綜合了binary instrumentation,系統資源統計以及log分析等方面的結果。你可以問問他們要代碼,都是上海這邊的團隊做的。


推薦閱讀:

看一個人的微博,你能從哪些方面歸納出他是一個什麼樣的人嗎?

TAG:Hadoop | 分散式系統 | profiling |