2013-05-07 60 views
6

我正在試圖剖析我的應用程序以查看是否可以複製this blogpost。我在命令行添加了-D mapred.task.profile = true,並檢查了它所用的作業配置。Hadoop配置文件輸出 - 在哪裏和什麼?

Hadoop: The Definitive Guide表示配置文件信息將出現在Unix目錄中,我運行了該作業。我從頭開始的目錄有一個文件attempt_201305011806_0042_m_000002_0.profile,它是正確的作業ID,但沒有映射器#2(只有一個映射器,它沒有失敗)。輸出只有配置文件中的標題信息;沒有任何實際的分析信息。

Hadoop文檔說輸出將在用戶日誌目錄中,但我找不到任何東西。如果我進入映射器的任務日誌,那麼在「profile.out logs」下面有合法信息的分析信息。我的HDFS輸出目錄根本沒有分析信息。剖析輸出不應該放在HDFS的某處?

此外,它只會在日誌中提供基於文本的輸出,但是我發現可以查看該配置文件的所有工具都採用二進制hprof格式。關於如何獲得二進制配置文件或者將基於文本的配置文件加載到hprof工具中的任何想法?

+0

覆蓋它,你已經解決了嗎? – AST 2015-08-05 16:14:10

+0

沒有,我們必須先關閉Hadoop集羣,然後才能弄明白。我會解決這個問題,但它可能對其他人有用。 – Keith 2015-08-06 00:31:13

+0

好的,謝謝你的信息。 – AST 2015-08-06 11:37:21

回答

3

我注意到有一個在

-D mapred.task.profile=true 

一個空間是一個錯字?如果是的話,只需將其刪除,看看會發生什麼。另外,您應該能夠在用戶日誌目錄下看到一個分析器文件,這通常是您從中運行作業的地方。 此外,HPROF是Hadoop的默認,因此檢查,如果你不與

-Dmapred.task.profile.params