2015-08-10 3 views
7

Es gibt eine Reihe von Optionen beim erneuten Ausführen eines Arbeitsablaufs über die Oozie-Befehlszeile.Oozie-Befehl zum erneuten Ausführen des Arbeitsablaufs mit Überspringen von Knoten funktioniert nicht

  1. oozie.wf.rerun.failnodes
  2. oozie.wf.rerun.skip.nodes

Option 1 funktioniert gut, aber während mit der Option wieder laufen Workflow 2, wirft es Fehler E0404.

oozie job -oozie http://<url>/oozie -Doozie.wf.rerun.skip.nodes=node1,node2 -rerun WFID

Fehler: E0404: E0404: Nur eine der Eigenschaften erlaubt [oozie.wf.rerun.skip.nodes ODER oozie.wf.rerun.failnodes]

jedoch unter funktioniert gut.

oozie job -oozie http://<url>/oozie -Doozie.wf.rerun.failnodes=true -rerun WFID

+0

Um hinzuzufügen, verwenden wir CDH5.4 Verteilung. –

+0

Ich laufe heute auf ein ähnliches Problem. Ich denke, dass Sie nur eine Option auswählen können und wenn Sie es verwenden, können Sie den gleichen Workflow mit der anderen Option nicht neu starten. Der Grund dafür ist, dass der Workflow gespeicherte Konfigurationsoptionen speichert. Es erinnert sich noch an oozie.wf.rerun.failnodes. Wenn Sie jedoch oozie.wf.rerun.skip.nodes hinzufügen, schlägt die Überprüfung fehl, dass Sie nur eine haben können. Lösung könnte vielleicht eine Feature-Anforderung sein, um diese Neustarteigenschaften durch die zuletzt ausgewählte Option neu zu schreiben. – chalimartines

Antwort

5

Jedesmal, wenn eine Oozie Job in einem Rerun-Modus ausgeführt wird, wird es versuchen, die vorherigen Lauf der CONIFG Datei wiederverwenden. Sie können jedoch zusätzliche Eigenschaften mit der Option -D übergeben und so übergeben wir oozie.wf.rerun.failnodes und oozie.wf.rerun.skip.nodes.

Wenn Sie Ihren Job in Rerun-Modus mit oozie.wf.rerun.failnodes=true schon einmal einmal execueted haben, dann in Ihrem nächsten Lauf nicht

oozie job -oozie http://<url>/oozie -Doozie.wf.rerun.skip.nodes=node1,node2 -rerun WFID 

verwenden können, weil, wenn sein Versuch, Konfigurationsdatei wieder zu verwenden, oozie.wf.rerun.failnodes Eigenschaft bereits existiert in seiner Eigenschaften und das ist, wenn Oozie versucht, einen Fehler zu werfen, wie Sie konfrontiert wurden.

0

Sie könnten den Workflow von Anfang an starten, indem Sie oozie.wf.rerun.failnodes = false property ... das ist, was ich tun, wenn ich einen Job bereits ranan, dies ist ähnlich zu überspringen Knoten oozie.wf.rerun. skip.nodes =, aber wir können nichts überspringen

+0

Können Sie Code in Ihre Antwort einfügen, um ihn zu verbessern? –