我想調試一個mapreduce腳本,並且不會遇到太多麻煩,試圖將一些打印語句放入我的程序中。但我似乎無法在任何日誌中找到它們。hadoop mapreduce框架在哪裏發送我的System.out.print()語句? (標準輸出)
回答
其實stdout只顯示的非地圖縮減類的System.out.println()
。
地圖和縮小階段的System.out.println()
可以在日誌中看到。輕鬆訪問日誌的方法是:
http://localhost:50030/jobtracker.jsp->點擊完成的作業 - >點擊地圖或減少任務 - >點擊任務數量 - >任務日誌 - >標準輸出日誌。
希望這有助於
另一種方式是通過終端:
1)進入您Hadoop_Installtion目錄,然後進入「日誌/ userlogs」。
2)打開您的job_id目錄。
3)檢查目錄與_ M_如果你想映射器輸出或 _r_如果你正在尋找減速。
例:在Hadoop的20.2.0:
> ls ~/hadoop-0.20.2/logs/userlogs/attempt_201209031127_0002_m_000000_0/ log.index stderr stdout syslog
上述手段:
Hadoop_Installation:〜/ Hadoop的0.20.2
JOB_ID:job_201209031127_0002
_m_:地圖任務,「地圖編號「:_000000_
4) open stdout如果您使用「system.out.println」或stderr如果您使用了「system.err.append」。
PS。其他hadoop版本可能具有不同的層次結構,但它們都應該在$ Hadoop_Installtion/logs/userlogs下。
要在控制檯上獲得標準輸出和日誌消息,您可以使用Apache公共日誌記錄框架將其映射到您的映射器和簡化器。
public class MyMapper extends Mapper<..,...,..,...> {
public static final Log log = LogFactory.getLog(MyMapper.class)
public void map() throws Exception{
// Log to stdout file
System.out.println("Map key "+ key);
//log to the syslog file
log.info("Map key "+ key);
if(log.isDebugEanbled()){
log.debug("Map key "+ key);
}
context.write(key,value);
}
}
在有yarn
Hadoop集羣,你可以獲取日誌,包括標準輸出,具有:
yarn logs -applicationId application_1383601692319_0008
出於某種原因,我發現這是比我在看到比較完整的web界面。 web界面沒有列出我輸出的System.out.println()
。
感謝您爲hadoop2提供答案。你能告訴我爲什麼我在執行該命令後得到這個錯誤? '日誌在/ tmp/logs/hadoopuser/logs/application_1441282624447_3854'上不可用並且'日誌聚合尚未完成或未啓用' – 2015-11-23 16:25:09
- 1. 將Hadoop Mapreduce輸出到本地磁盤或標準輸出
- 2. 在哪裏可以看到從hadoop pig語句生成的mapreduce代碼
- 3. Netbeans上的Android開發標準輸出在哪裏?
- 4. Hadoop MapReduce中間輸出
- 5. Hadoop MapReduce不寫輸出
- 6. Hadoop HDFS MapReduce輸出到MongoDb
- 7. Hadoop - MapReduce - Mapper輸出類型
- 8. 可用於Hadoop/MapReduce框架的集羣
- 9. Mongo MapReduce - 檢查標準輸出
- 10. 在Hadoop中向Cassandra輸出一行Mapreduce
- 11. Limit語句將在哪裏出現? Postgresql
- 12. Hadoop,MapReduce - 多輸入/輸出路徑
- 13. 我在哪裏放置if語句?
- 14. 我從哪裏開始學習Lucene.NET Solr Hadoop和MapReduce?
- 15. 我在if語句php中出錯的地方在哪裏?
- 16. 我的SQL語句與LinqPad SQL語句。差異在哪裏?
- 17. 需要通過return語句顯示輸出而不是system.out.print語句
- 18. hadoop mapreduce中單獨的輸出文件
- 19. 發送標準輸出/標準錯誤使用節點,並表示
- 20. 將`split'工具的輸出發送到標準輸出
- 21. MapReduce與paramiko如何打印標準輸出流
- 22. 「框架在哪裏?」 Play中發生錯誤!框架
- 23. 使用mapreduce的輸出參數在哪裏?
- 24. Hadoop MapReduce多輸入
- 25. 將標準錯誤發送到標準輸出不起作用
- 26. 發送JVM -verbose輸出到標準錯誤而不是標準輸出
- 27. SQL Case語句在哪裏
- 28. sql case語句在哪裏?
- 29. Logstash輸出:標準輸出
- 30. MessageUI框架在哪裏?
同樣的方法也適用於在Hue下使用Oozie。Oozie安排MR2地圖作業,但不會正確顯示日誌。要看到它們,你應該去jobtracker.jsp。 – 2016-07-01 09:19:55
JobTracker不支持Hadoop 2 – 2017-12-02 03:50:20