oozie錯誤:job一直在running或者SUSPENDED,但是就是不執行。任務單獨執行是可以的。
阿新 • • 發佈:2018-12-08
1.問題描述
一個簡單的mapreduce的wordcount任務,單獨使用yarn呼叫時沒有任何問題,可以跑出來。但是,放入yarn的時候,就會出現問題。一直時Running的狀態,而且hadoop對應目錄下也沒有輸出結果的目錄,很是頭痛。
2.原因:
經過百般查詢和無限次嘗試,發現是job.properties的jobTracker屬性埠配置錯誤導致。因為Oozie去呼叫Hadoop的jobtracker去監聽任務,但是Hadoop2+之後,使用yarn替代了jobtracker,所以此處應當配置yarn的yarn.resourcemanager.address屬性的對應值。
查詢yarn.resourcemanager.address,可以通過跑出的mapreduce任務的history,點選configuration檢視配置,然後搜尋關鍵字:yarn.resourcemanager.address
3.解決
(1)修改job.properties
nameNode=hdfs://hadoop:8020 jobTracker=hadoop:8032 queueName=default examplesRoot=oozie-apps oozie.wf.application.path=${nameNode}/user/hadoop/${examplesRoot}/mr-wordcount/workflow.xml outputDir=map-reduce
(2)將hdfs上所有相關mr-wordcount相關目錄刪除,然後重新上傳專案檔案
參考https://blog.csdn.net/wiborgite/article/details/78585689?utm_source=blogxgwz5#commentBox