2016-10-06 5 views
0

Was ich möchte wissen, ist, wie/wo Funken die Gläser benötigt nimmt.Kann keinen Funkenjob in HUE Oozie ausführen. Ausnahme: „Datanucleus-api-JDO-3.2.1.jar existiert nicht“

Datei: /mnt/md0/yarn/nm/usercache/kylin/appcache/application_1468506830246_161908/container_1468506830246_161908_01_000001/datanucleus-api-jdo-3.2.1.jar existiert nicht.

<spark-opts> 
    --num-executors 30 
    --executor-memory 18g 
    --executor-cores 15 
    --driver-memory 2g 
    --files hdfs:///jobs/kylin/hive-site.xml 
    --jars datanucleus-api-jdo-3.2.1.jar,datanucleus-rdbms-3.2.1.jar,datanucleus-core-3.2.2.jar 
    --conf spark.shuffle.manager=tungsten-sort 
    --conf spark.shuffle.consolidateFiles=true 
    --conf spark.yarn.executor.memoryOverhead=3072 
    --conf spark.shuffle.memoryFraction=0.7 
    --conf spark.storage.memoryFraction=0.05 
    --conf spark.spot.instances=30 
</spark-opts> 

Antwort

1

Wir müssen die Gläser absoluten Pfad zur Verfügung zu stellen, sonst wird es scheitern.

Überprüfen Sie bitte die folgenden Angaben von Funken Dokumentation für verschiedene Arten --jar zur Verfügung zu stellen.

Bei der Verwendung von Spark-submit wird das Anwendungsglas zusammen mit allen mit der Option --jars enthaltenen Gläsern automatisch in den Cluster übertragen. Nach -jars angegebene URLs müssen durch Kommas getrennt sein. Diese Liste ist in den Treiber- und Executor-Klassenpfaden enthalten. Die Verzeichniserweiterung funktioniert nicht mit --jars.

Funken verwenden das folgende URL-Schema unterschiedliche Strategien für die Verbreitung der Gläser zu ermöglichen:

Datei: - Absolute Pfade und file:/URIs von den Fahrern HTTP File-Server bedient werden, und jeder Testamentsvollstrecker zieht die Datei aus der Treiber HTTP-Server.

hdfs :, http :, https :, ftp: - die Pull-Down-Dateien und JAR-Dateien aus dem URI

erwartet als

local: - eine URI mit lokalem Start:/erwartet wird, existieren eine lokale Datei auf jedem Worker-Knoten. Dies bedeutet, dass keine Netzwerk-E/A auftritt und gut für große Dateien/JARs funktioniert, die an jeden Mitarbeiter gesendet oder über NFS, GlusterFS usw. freigegeben werden.

Beachten Sie, dass JARs und Dateien in das Arbeitsverzeichnis für jeder SparkContext auf den Executor-Knoten. Dies kann im Laufe der Zeit viel Speicherplatz verbrauchen und muss bereinigt werden. Mit YARN wird die Bereinigung automatisch durchgeführt. Mit Spark standalone kann die automatische Bereinigung mit der Eigenschaft spark.worker.cleanup.appDataTtl konfiguriert werden.

Benutzer umfassen können auch alle anderen Abhängigkeiten durch eine durch Kommata getrennte Liste von Koordinaten mit einer maven --packages liefert. Alle transitiven Abhängigkeiten werden bei Verwendung dieses Befehls behandelt. Zusätzliche Repositories (oder Resolver in SBT) können in einer durch Kommas getrennten Form mit dem Flag --repositories hinzugefügt werden. Diese Befehle können mit pyspark, spark-shell und spark-submit verwendet werden, um Spark-Pakete einzuschließen.

für Python, die äquivalente --py-Dateien Option kann .egg, .zip und Py Bibliotheken zu Vollstreckern verteilen verwendet werden.

Bitte überprüfen Sie die link für weitere Informationen.

+0

Ich bin, um herauszufinden, nicht in der Lage, was die Lage ist und wie wir die Gläser bieten. Noch eine Sache, gleiche Konfiguration funktioniert mit einem oozie/Farbton, aber nicht auf einem anderen. Wie debugge ich das? Wenn möglich, könnten Sie anhand eines Beispiels erklären, wie wir den Ort des Glases bereitstellen. Vielen Dank. –

+0

wo führst du das aus? und was ist dein Jar Weg? –

+0

Wenn Sie Gläser in HDFS sind, müssen Sie den Speicherort angeben, wenn Ihre Gläser in lokalen sind, müssen Sie den Speicherort angeben. –

Verwandte Themen