Ich benutze HDP 2.4 in CentOS 6.7.Sollte die Position des Oozie/Sqoop Jars nicht während der Paketinstallation konfiguriert werden?
Ich habe den Cluster mit Ambari erstellt, also wurde Oozie von Ambari installiert und konfiguriert.
Ich habe zwei Fehler bei der Ausführung von Oozie/Sqoop im Zusammenhang mit der Position der JAR-Datei. Die erste betrifft postgresql-jdbc.jar
, da der Sqoop-Job inkrementell von Postgres importiert wird. Ich fügte hinzu, die postgresql-jdbc.jar
Datei auf HDFS und wies darauf hin in workflow.xml
:
<file>/user/hdfs/sqoop/postgresql-jdbc.jar</file>
Es das Problem gelöst. Aber der zweite Fehler scheint kite-data-mapreduce.jar
zu betreffen. Allerdings tut das gleiche für diese Datei:
<file>/user/hdfs/sqoop/kite-data-mapreduce.jar</file>
scheint nicht das Problem zu lösen:
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SqoopMain], main() threw exception, org/kitesdk/data/DatasetNotFoundException java.lang.NoClassDefFoundError: org/kitesdk/data/DatasetNotFoundException
Es scheint seltsam, dass dies nicht automatisch von Ambari konfiguriert ist und dass wir JAR-Dateien kopieren in HDFS, wenn wir Fehler bekommen.
Ist das die richtige Methode oder habe ich einen Konfigurationsschritt vermisst?
Ich denke, Sie sollten diese Gläser in das 'lib'-Verzeichnis des Basispfads Ihres Workflows hinzufügen. Der Basispfad ist ein Verzeichnis, in dem Ihre workflow.xml gespeichert ist. Sie müssen dieses Verzeichnis erstellen und alle benutzerdefinierten Dateien speichern, die Ihr Workflow benötigt. Es wird sie in den Klassenpfad laden. – YoungHobbit
@YoungHobbit, ich habe das 'lib'-Verzeichnis wie beschrieben verwendet. Das Ergebnis ist das gleiche. Ich sehe, dass die JAR-Dateien wie zuvor geladen werden, aber ich bekomme immer noch die 'org/kitesdk/data/DatasetNotFoundException'. Diese Ausnahme tritt nicht auf, wenn die Originaltabelle keine neuen Spalten enthält. In diesem Fall läuft der Oozie-Job wie geplant und sqoop sagt nur, dass er keine neuen Zeilen zum Importieren hat. Aber wenn ich der Tabelle eine neue Zeile hinzufüge, tritt diese Ausnahme auf. Es ist seltsam, weil ich den shoop-Job direkt ausführen kann (anstatt durch oozie) und es läuft OK. –
OK, ich habe gerade festgestellt, dass es tatsächlich Änderungen nach dem Hinzufügen der JAR gibt. Die Ausnahme war 'org/kitesdk/data/mapreduce/DatasetKeyOutputFormat' und nach dem Hinzufügen der JAR-Datei wird es' org/kitesdk/data/DatasetNotFoundException', so dass es scheint, dass ich auf dem richtigen Weg bin. Eine andere JAR-Datei wird vielleicht benötigt. –