2015-09-04 5 views
6

Ich verwende Oozie 4.2, das im Lieferumfang von HDP 2.3 enthalten ist.Workflow-Fehlerprotokolle in Oozie 4.2 deaktiviert

Während ich mit einigen Beispiel-Workflows arbeite, die mit dem oozie-Paket geliefert werden, habe ich festgestellt, dass das "Job Error Log" deaktiviert ist, was das Debugging im Falle eines Fehlers sehr schwierig macht. Ich habe versucht, laufen die folgenden Befehle,

# 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 

Fehlerprotokoll ist deaktiviert !!

Kann mir bitte jemand sagen, wie man das Workflow-Fehlerprotokoll für oozie aktiviert?

+0

Dieses '-errorlog' ist neu in V4.2 undokumentiert und wurde aus vielen Gründen in der HDP-Distribution deaktiviert. Einschließen von Kompatibilitätsproblemen mit anderen Hadoop-Komponenten Also müßtest du wahrscheinlich das * rekomponieren * um es zu aktivieren, * auf eigenes Risiko *. Übrigens, was soll es anzeigen, das nicht schon in der '-log'-Ausgabe ist? –

+0

Danke für die Eingaben! Das Problem, mit dem ich konfrontiert bin, ist, wenn ein Workflow fehlschlägt (ich habe versucht, die Beispielworkflows auszuführen, die mit dem Paket geliefert werden). Ich bekomme keine Informationen darüber, was der Fehler ist. Ich konnte nichts im Protokoll finden, um die Ursache zu verstehen von dem Versagen. Irgendwelche Hinweise darauf, wie dies gelöst werden könnte, sind eine große Hilfe! – SanthoshD

+0

Oozie Protokolle zeigen Details der * Koordination *; Die Details der tatsächlichen * Ausführung * sind in YARN-Logs. Durchsuchen Sie das Oozie-Protokoll nach "Externe ID" und suchen Sie dann den passenden Eintrag in der YARN-Webkonsole. –

Antwort

1

In der Oozie-Benutzeroberfläche ist "Job Error Log" eine Registerkarte, die in HDP v2.3 auf Oozie v4.2 eingeführt wurde.
Dies ist die einfachste Art, nach Fehlern für den angegebenen Oozie-Job aus der Oozie-Protokolldatei zu suchen.

Um die Oozie Hiobs Fehlerprotokoll, benutzen Sie bitte die folgenden Änderungen in der Oozie log4j-Eigenschaftsdatei zu ermöglichen machen:

  1. Fügen Sie den folgenden Satz von Linien nach log4j.appender.oozie und vor 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 
  1. die von log4j.logger.org.apache.oozie folgenden ändern = WARN, Oozie log4j.logger.org.apache.oozie = ALL, Oozie , oozieError

  2. Starten Sie den Oozie-Dienst neu. Dies würde helfen, das Jobfehlerprotokoll für die neuen Jobs zu erhalten, die nach dem Neustart von oozie service gestartet werden.

+0

Vielen Dank für Ihre Nachricht! – Petro

+0

@Saurabh Ich habe den Code, den Sie gegeben haben, aber nach dem Hinzufügen dieses Stück Code mein Bundle-Job mit Wartezustand stecken, mache ich etwas falsch – anand

+0

Ich habe den Code an der gleichen Stelle nur in meiner Oozie-Datei log4j.logger hinzugefügt. org.apache.oozie = WARN ist wie log4j.logger.org.apache.oozie = INFO, oozie, ETW, FullPIILogs wurde angegeben und ich habe es in log4j.logger.org.apache.oozie = INFO, ALL, oozie geändert, oozieError, ETW, FullPIILogs – anand

0

Wie bereits erwähnt, ist das Fehlerprotokoll neu und kann aus guten Gründen nicht zur Verfügung gestellt werden. Es scheint jedoch, dass Sie die falsche Erwartung des oozie Fehlerprotokolls haben.

Das Fehlerprotokoll ist als Teilmenge der Protokolldatei gedacht. Keine Ergänzung dazu.

Also ja, es könnte Dinge einfacher zu debuggen, aber wenn Sie das Oozie-Protokoll überprüft und nicht gefunden haben, was Sie suchen, wird das Fehlerprotokoll nicht die Lösung für Sie sein.

Wahrscheinlich möchten Sie sich das Protokoll der zugrunde liegenden Aufgaben ansehen, die über die externe ID gefunden werden können.

+0

mein Log einfach sagen Haupt Klasse [org.apache.oozie.action.hadoop.HiveMain], Code [1] – anand

+0

auch ich habe überprüfen MapReduce Job-Log und es heißt, Job hat ERFOLGREICH ohne Fehler, so können Sie mir helfen, was ich hier fehlt. – anand

+0

@anand Wenn Sie Hilfe benötigen und sich die verfügbaren Informationen auf dieser Website angesehen haben, sollten Sie eine neue Frage stellen. Kommentare sind nicht der Ort für Anfragen. - Es besteht die Gefahr, das Offensichtliche zu sagen: Stellen Sie sicher, dass Sie alle relevanten Informationen beifügen, wenn Sie eine Frage stellen, da es sonst sehr schwierig für Sie ist, Ihnen zu helfen. –