Java Heap size Fehler in der Sqoop-import

Ich habe versucht, den import von Daten aus der MySQL-Datenbank für Hive mithilfe von Sqoop-Dienstprogramm. Ich hab die Tabelle erstellt und ich habe den fetch-Größe so niedrig wie 10. Jedesmal, wenn ich den Befehl ausführen, erhalte ich die Java-Heap-Größe-Fehler und der job wird getötet, nachdem 4 versuche. Wie kann ich dieses Problem beheben.

Meine sqoop-Befehl ist wie folgt :

sqoop import --connect jdbc:mysql://my_local_ip/mydatabase --fetch-size 10  --username root -P --table table_name --hive-import --compression-codec=snappy --as-parquetfile  -m 1

und ich bin immer :

16/08/29 07:06:24 INFO mapreduce.Job: The url to track the job: http://quickstart.cloudera:8088/proxy/application_1472465929944_0013/
16/08/29 07:06:24 INFO mapreduce.Job: Running job: job_1472465929944_0013
16/08/29 07:06:47 INFO mapreduce.Job: Job job_1472465929944_0013 running in uber mode : false
16/08/29 07:06:47 INFO mapreduce.Job:  map 0% reduce 0%
16/08/29 07:07:16 INFO mapreduce.Job: Task Id : attempt_1472465929944_0013_m_000000_0, Status : FAILED
Error: Java heap space
16/08/29 07:07:37 INFO mapreduce.Job: Task Id : attempt_1472465929944_0013_m_000000_1, Status : FAILED
Error: Java heap space
16/08/29 07:07:59 INFO mapreduce.Job: Task Id : attempt_1472465929944_0013_m_000000_2, Status : FAILED
Error: Java heap space
16/08/29 07:08:21 INFO mapreduce.Job:  map 100% reduce 0%
16/08/29 07:08:23 INFO mapreduce.Job: Job job_1472465929944_0013 failed with state FAILED due to: Task failed task_1472465929944_0013_m_000000
  • überprüfen Sie, ob eine Erhöhung mapper Größe, d.h. mapreduce.map.java.opts und mapreduce.map.memory.mb hilft. In meinem Umfeld GARN container size limit 32GB, damit ich mapreduce.map.java.opts=-Xmx30000m und mapreduce.map.memory.mb=32000 beziehungsweise.
  • Ich bin mit Cloudera nur. Können Sie bitte lassen Sie mich wissen, wie kann ich diese änderungen an der Konfiguration.
  • Sie tun müssen sqoop import -Dmapreduce.map.java.opts=-Xmx30000m -Dmapreduce.map.memory.mb=32000 --connect jdbc:mysql://my_local_ip/mydatabase --fetch-size 10 --username root -P --table table_name --hive-import --compression-codec=snappy --as-parquetfile -m 1 aber do-check-GARN-container max Größe. setzen Sie ein wenig weniger in mapreduce.map.memory.mb und noch weniger in mapreduce.map.java.opts.
  • Ich bin immer diese Fehlermeldung, während es zu tun : Error: Could not find or load main class ???-Xms268435456
  • Ich bin mit dem gleichen Befehl. Eigentlich kopiere ich es aus dem Kommentar und es läuft nach dem ändern der IP und DB-name. Habe den gleichen Fehler wieder,
  • Sind Sie versuchen, auf Cloudera sandox?
  • Ich bin. Die Quickstart VM
  • Wie viel RAM hast u reservieren?
  • Ich alocated 10GB
  • Hast du den gleichen Fehler, wenn Sie versucht, ohne --fetch-size <n> tag in Ihrem Befehl?
  • Lassen Sie uns weiter, diese Diskussion im chat.

InformationsquelleAutor Happy Coder | 2016-08-29



One Reply
  1. 0

    Versuchen mit

    sqoop import  -Dmapreduce.map.memory.mb=1024 -Dmapreduce.map.java.opts=-Xmx7200m -Dmapreduce.task.io.sort.mb=2400 --connect jdbc:mysql://local.ip/database_name --username root -P --hive-import --table table_name --as-parquetfile --warehouse-dir=/home/cloudera/hadoop --split-by 'id' -m 100

    Zunächst, ich habe mit 10 Mappern zu verarbeiten 10 Millionen Datensätze, und jeder chunk hat eine Größe von 1 million aufnehmen. Dies wurde verursacht die Fehler und so feuerte ich 100 mapping-jobs, es verarbeitet die Daten erfolgreich . Die einzige Sache, die ich bemerkt haben, ist die Zeit, die zum abschließen des jobs. Es dauerte fast 1 STD laufen alle die 100-mapper Arbeitsplätze.

    • mit 100 Mappern keinen Sinn macht. Es wird sicherlich verlangsamen Ihren Prozess. Sie sind mit single-node-hadoop und maximale Mapper als laufen können, parallel ist weniger als 10 in deinem Fall. 1 Millionen Datensätze für jeden mapper ist eine kleine Menge. Mit Dmapreduce.map.memory.mb=1024 -Dmapreduce.map.java.opts=-Xmx7200m Sie sollten in der Lage zu führen Sie diese Aufgabe mit 4 Mappern einfach. Sie können sich drastisch schnell Ihren Betrieb. Verwenden Sie nicht mehr als 4-Mappern, wie haben Sie das 1-Knoten-cluster. Arbeiten, um Speicher zu verwalten Parameter

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.