2015-09-04 30 views
6

我正在使用與HDP 2.3捆綁在一起的Oozie 4.2。在Oozie 4.2中禁用工作流錯誤日誌

在使用oozie軟件包附帶的幾個示例工作流程時,我注意到「作業錯誤日誌已禁用」,這使得在發生故障時調試非常困難。我試着運行下面的命令,

# oozie job -config /home/santhosh/examples/apps/hive/job.properties -run 
job: 0000063-150904123805993-oozie-oozi-W 

# oozie job -errorlog 0000063-150904123805993-oozie-oozi-W 

錯誤日誌被禁用!!

有人可以告訴我如何啓用工作流錯誤日誌oozie?

+0

'-errorlog'是V4.2的新增功能,沒有記錄,並且可能由於多種原因而在HDP發行版中停用。包括與其他Hadoop組件的兼容性問題。所以你可能需要重新編譯*來激活它,*自擔風險*。順便說一下,它應該顯示的內容是不是已經在'-log'輸出中了? –

+0

感謝您的意見!我面臨的問題是工作流程失敗時(我嘗試執行包裝附帶的示例工作流程),但沒有提供有關錯誤信息的任何信息,在日誌中找不到任何信息以瞭解根本原因的失敗。任何有關如何解決這個問題的線索都會有很大的幫助! – SanthoshD

+0

Oozie日誌顯示*協調*的詳細信息;實際*執行*的細節在YARN日誌中。在Oozie日誌中搜索「外部ID」,然後在YARN Web控制檯中找到匹配的條目。 –

回答

1

在Oozie UI中,「作業錯誤日誌」是在Oozie v4.2中的HDP v2.3中引入的一個選項卡。
這是從oozie日誌文件中查找指定oozie作業錯誤的最簡單方法。

啓用了Oozie的作業錯誤日誌,請在Oozie的log4j的屬性文件進行以下更改:

  1. 添加下面的套系log4j.appender.oozie後log4j.appender.oozieops之前:
log4j.appender.oozieError=org.apache.log4j.rolling.RollingFileAppender 
log4j.appender.oozieError.RollingPolicy=org.apache.oozie.util.OozieRollingPolicy 
log4j.appender.oozieError.File=${oozie.log.dir}/oozie-error.log 
log4j.appender.oozieError.Append=true 
log4j.appender.oozieError.layout=org.apache.log4j.PatternLayout 
log4j.appender.oozieError.layout.ConversionPattern=%d{ISO8601} %5p %c{1}:%L - SERVER[${oozie.instance.id}] %m%n 
log4j.appender.oozieError.RollingPolicy.FileNamePattern=${log4j.appender.oozieError.File}-%d{yyyy-MM-dd-HH} 
log4j.appender.oozieError.RollingPolicy.MaxHistory=720 
log4j.appender.oozieError.filter.1 = org.apache.log4j.varia.LevelMatchFilter 
log4j.appender.oozieError.filter.1.levelToMatch = WARN 
log4j.appender.oozieError.filter.2 = org.apache.log4j.varia.LevelMatchFilter 
log4j.appender.oozieError.filter.2.levelToMatch = ERROR 
log4j.appender.oozieError.filter.3 =`enter code here` org.apache.log4j.varia.LevelMatchFilter 
log4j.appender.oozieError.filter.3.levelToMatch = FATAL 
log4j.appender.oozieError.filter.4 = org.apache.log4j.varia.DenyAllFilter 
  • 修改從log4j.logger.org.apache.oozie下面= WARN,Oozie的至log4j.logger.org.apache.oozie = ALL,Oozie的,oozieError

  • 重新啓動oozie服務。這將有助於獲取重新啓動oozie服務後啓動的新作業的作業錯誤日誌。

  • +0

    謝謝發佈! – Petro

    +0

    @Saurabh我已經使用了你給出的代碼,但添加了這些代碼後,我的Bundle作業卡住了等待狀態,我做錯了什麼 – anand

    +0

    我已經將代碼添加到了我的oozie文件log4j.logger中的相同位置。 org.apache.oozie = WARN is log4j.logger.org.apache.oozie = INFO,oozie,ETW,FullPIILogs已被授予,我已將其更改爲log4j.logger.org.apache.oozie = INFO,ALL,oozie, oozieError,ETW,FullPIILogs – anand

    0

    如上所述,錯誤日誌是新的,並且可能出於很好的原因而不可用。但是,似乎你對oozie錯誤日誌有錯誤的期望。

    錯誤日誌意味着是日誌文件的一個子集。不是一個補充。

    所以是的,它可以使事情變得更容易調試,但是如果你檢查了oozie日誌並且沒有找到你正在尋找的東西,錯誤日誌將不會是你的解決方案。

    也許你會想看看底層任務的日誌,這可以通過外部ID找到。

    +0

    我的日誌只是說主要類[org.apache.oozie.action.hadoop.HiveMain],退出代碼[1] – anand

    +0

    我也檢查MapReduce工作日誌,它說工作已經成功沒有任何錯誤,所以你可以幫助我,我在這裏失蹤。 – anand

    +0

    @anand如果您需要幫助並查看了本網站上的一般信息,請考慮提出一個新問題。評論不是要求的地方。 - 存在顯而易見的風險:在提問時一定要包含所有相關信息,否則人們很難幫助您。 –