Spark - Container ausgeführt wird, jenseits der Grenzen der physischen Speicher

Ich habe einen cluster mit zwei worker-Knoten.
Worker_Node_1 - 64GB RAM
Worker_Node_2 - 32GB RAM

Hintergrund Sommerlich :
Ich bin versucht, die execute-spark-reichen auf Garn-cluster ausgeführt Pregel auf einem Graphen zu berechnen, die den kürzesten Pfad Entfernungen aus einer Hand vertex zu allen anderen Knoten, und drucken Sie die Werte auf der Konsole.
Experment :

  1. Für Kleine Graphen mit 15 Knoten Ausführung Anwendung endgültiger status : ERFOLGREICH
  2. Mein code funktioniert einwandfrei und druckt kürzeste Entfernung für 241 vertices graph für die einzelnen Knoten als Quelle vertex-aber es gibt ein problem.

Problem :
Wenn ich das Graben in der Log-Datei die Aufgabe bekommt komplett erfolgreich in 4 Minuten und 26 Sekunden, sondern noch auf dem terminal-es hält-zeigt die Anwendung den status als Läuft und nach ca 12 Minuten die task-Ausführung wird beendet, sagen -

Application application_1447669815913_0002 failed 2 times due to AM Container for appattempt_1447669815913_0002_000002 exited with exitCode: -104 For more detailed output, check application tracking page:http://myserver.com:8088/proxy/application_1447669815913_0002/
Then, click on links to logs of each attempt. 
Diagnostics: Container [pid=47384,containerID=container_1447669815913_0002_02_000001] is running beyond physical memory limits. Current usage: 17.9 GB of 17.5 GB physical memory used; 18.7 GB of 36.8 GB virtual memory used. Killing container.

Dump of the process-tree for container_1447669815913_0002_02_000001 : 
 |- PID PPID PGRPID SESSID CMD_NAME USER_MODE_TIME(MILLIS) SYSTEM_TIME(MILLIS) VMEM_USAGE(BYTES) RSSMEM_USAGE(PAGES) FULL_CMD_LINE
|- 47387 47384 47384 47384 (java) 100525 13746 20105633792 4682973 /usr/lib/jvm/java-7-oracle-cloudera/bin/java -server -Xmx16384m -Djava.io.tmpdir=/yarn/nm/usercache/cloudera/appcache/application_1447669815913_0002/container_1447669815913_0002_02_000001/tmp -Dspark.eventLog.enabled=true -Dspark.eventLog.dir=hdfs://myserver.com:8020/user/spark/applicationHistory -Dspark.executor.memory=14g -Dspark.shuffle.service.enabled=false -Dspark.yarn.executor.memoryOverhead=2048 -Dspark.yarn.historyServer.address=http://myserver.com:18088 -Dspark.driver.extraLibraryPath=/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native -Dspark.shuffle.service.port=7337 -Dspark.yarn.jar=local:/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/spark/lib/spark-assembly.jar -Dspark.serializer=org.apache.spark.serializer.KryoSerializer -Dspark.authenticate=false -Dspark.app.name=com.path.PathFinder -Dspark.master=yarn-cluster -Dspark.executor.extraLibraryPath=/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native -Dspark.yarn.am.extraLibraryPath=/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native -Dspark.yarn.app.container.log.dir=/var/log/hadoop-yarn/container/application_1447669815913_0002/container_1447669815913_0002_02_000001 org.apache.spark.deploy.yarn.ApplicationMaster --class com.path.PathFinder --jar file:/home/cloudera/Documents/Longest_Path_Data_1/Jars/ShortestPath_Loop-1.0.jar --arg /home/cloudera/workspace/Spark-Integration/LongestWorstPath/configFile --executor-memory 14336m --executor-cores 32 --num-executors 2
|- 47384 47382 47384 47384 (bash) 2 0 17379328 853 /bin/bash -c LD_LIBRARY_PATH=/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native::/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native /usr/lib/jvm/java-7-oracle-cloudera/bin/java -server -Xmx16384m -Djava.io.tmpdir=/yarn/nm/usercache/cloudera/appcache/application_1447669815913_0002/container_1447669815913_0002_02_000001/tmp '-Dspark.eventLog.enabled=true' '-Dspark.eventLog.dir=hdfs://myserver.com:8020/user/spark/applicationHistory' '-Dspark.executor.memory=14g' '-Dspark.shuffle.service.enabled=false' '-Dspark.yarn.executor.memoryOverhead=2048' '-Dspark.yarn.historyServer.address=http://myserver.com:18088' '-Dspark.driver.extraLibraryPath=/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native' '-Dspark.shuffle.service.port=7337' '-Dspark.yarn.jar=local:/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/spark/lib/spark-assembly.jar' '-Dspark.serializer=org.apache.spark.serializer.KryoSerializer' '-Dspark.authenticate=false' '-Dspark.app.name=com.path.PathFinder' '-Dspark.master=yarn-cluster' '-Dspark.executor.extraLibraryPath=/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native' '-Dspark.yarn.am.extraLibraryPath=/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native' -Dspark.yarn.app.container.log.dir=/var/log/hadoop-yarn/container/application_1447669815913_0002/container_1447669815913_0002_02_000001 org.apache.spark.deploy.yarn.ApplicationMaster --class 'com.path.PathFinder' --jar file:/home/cloudera/Documents/Longest_Path_Data_1/Jars/ShortestPath_Loop-1.0.jar --arg '/home/cloudera/workspace/Spark-Integration/LongestWorstPath/configFile' --executor-memory 14336m --executor-cores 32 --num-executors 2 1> /var/log/hadoop-yarn/container/application_1447669815913_0002/container_1447669815913_0002_02_000001/stdout 2> /var/log/hadoop-yarn/container/application_1447669815913_0002/container_1447669815913_0002_02_000001/stderr
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
Failing this attempt. Failing the application.

Dinge habe ich versucht :

  1. Garn.schedular.maximal-Belegung mb – 32 GB
  2. mapreduce.Karte.Speicher.mb = 2048 (Vorher waren es 1024)
  3. Versucht, unterschiedliche-Fahrer-memory bis zu 24g

Könnten Sie bitte mehr Farbe auf, wie kann ich konfigurieren Sie die Ressource-Manager, so dass eine Große Größe-Diagramme ( > 300 K vertices) können auch verarbeitet werden? Danke.

  • Es gibt eine ähnliche Frage: stackoverflow.com/questions/21005643/...
  • haben Sie nichts finden ? der andere hat mir nicht helfen
  • Sie benötigen, um die Feinabstimmung Ihrer Anwendung mit der cluster-Fähigkeit. Params-Fahrer-Gedächtnis-executor-Gedächtnis-executor-Kerne --num-Vollzieher eine sehr wichtige Rolle spielen, während Sie tun, spark-reichen auf Garn-cluster.
  • spark.apache.org/docs/latest/tuning.html bitte gehen Sie durch diese.
  • Ich habe das gleiche problem. Weiß jemand, wie kann ich das verstehen, die Bedienung geht OutOfMemory? Wenn es ist etwas beitreten, oder wenn es einige Cache-Daten? Danke!
  • Eine Lösung für dieses Problem? Ich stehe vor demselben Problem stackoverflow.com/questions/49209905/...

InformationsquelleAutor aditya | 2015-11-17
Schreibe einen Kommentar