spark retainedjobs jars deploy defaultcores cores hdfs apache-spark yarn

hdfs - retainedjobs - spark local ip



¿Por qué falla la chispa shell--master yarn-client(pero pyspark--master hilado parece funcionar)? (1)

Estoy tratando de ejecutar la chispa de mi cluster Hadoop a través de Yarn. yo suelo

  • Hadoop 2.4.1
  • Spark 1.0.0

Mi clúster Hadoop ya funciona. Para usar Spark, construí Spark como se describe aquí :

mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.1 -DskipTests clean package

La compilación funciona bien, y puedo ejecutar spark-shell sin problemas. Sin embargo, ejecutarlo en hilo:

spark-shell --master yarn-client

me da el siguiente error:

14/07/07 11:30:32 INFO cluster.YarnClientSchedulerBackend: Application report from ASM: appMasterRpcPort: -1 appStartTime: 1404725422955 yarnAppState: ACCEPTED 14/07/07 11:30:33 INFO cluster.YarnClientSchedulerBackend: Application report from ASM: appMasterRpcPort: -1 appStartTime: 1404725422955 yarnAppState: FAILED org.apache.spark.SparkException: Yarn application already ended,might be killed or not able to launch application master . at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForApp(YarnClientSchedulerBackend.scala:105 ) at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:82) at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:136) at org.apache.spark.SparkContext.<init>(SparkContext.scala:318) at org.apache.spark.repl.SparkILoop.createSparkContext(SparkILoop.scala:957) at $iwC$$iwC.<init>(<console>:8) at $iwC.<init>(<console>:14) at <init>(<console>:16) at .<init>(<console>:20) at .<clinit>(<console>) at .<init>(<console>:7) at .<clinit>(<console>) at $print(<console>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:788) at org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1056) at org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:614) at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:645) at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:609) at org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:796) at org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:841) at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:753) at org.apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:121) at org.apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:120) at org.apache.spark.repl.SparkIMain.beQuietDuring(SparkIMain.scala:263) at org.apache.spark.repl.SparkILoopInit$class.initializeSpark(SparkILoopInit.scala:120) at org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:56) at org.apache.spark.repl.SparkILoop$$anonfun$process$1$$anonfun$apply$mcZ$sp$5.apply$mcV$sp(SparkILoop.scala:913) at org.apache.spark.repl.SparkILoopInit$class.runThunks(SparkILoopInit.scala:142) at org.apache.spark.repl.SparkILoop.runThunks(SparkILoop.scala:56) at org.apache.spark.repl.SparkILoopInit$class.postInitialization(SparkILoopInit.scala:104) at org.apache.spark.repl.SparkILoop.postInitialization(SparkILoop.scala:56) at org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply$mcZ$sp(SparkILoop.scala:930) at org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:884) at org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:884) at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135) at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:884) at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:982) at org.apache.spark.repl.Main$.main(Main.scala:31) at org.apache.spark.repl.Main.main(Main.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:292) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

Spark logra comunicarse con mi clúster, pero no funciona. Otra cosa interesante es que puedo acceder a mi clúster usando pyspark --master yarn . Sin embargo, recibo la siguiente advertencia

14/07/07 14:10:11 WARN cluster.YarnClientClusterScheduler: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory

y un tiempo de cálculo infinito al hacer algo tan simple como

sc.wholeTextFiles(''hdfs://vm7x64.fr/'').collect()

¿Qué puede estar causando este problema?


Verifique si su clúster de Hadoop se está ejecutando correctamente. En el nodo maestro, el siguiente proceso de YARN debe estar ejecutándose:

$ jps 24970 ResourceManager

En nodos esclavos / ejecutores:

$ jps 14389 NodeManager

También asegúrese de haber creado una referencia (o copiado esos archivos) a la configuración de Hadoop en el directorio de configuración de Spark:

$ ll /spark/conf/ | grep site lrwxrwxrwx 1 hadoop hadoop 33 Jun 8 18:13 core-site.xml -> /hadoop/etc/hadoop/core-site.xml lrwxrwxrwx 1 hadoop hadoop 33 Jun 8 18:13 hdfs-site.xml -> /hadoop/etc/hadoop/hdfs-site.xml

También puede verificar la IU web de ResourceManager en el puerto 8088 - http: // master: 8088 / cluster / nodes . Debe haber una lista de nodos y recursos disponibles.

Debe echar un vistazo a sus archivos de registro utilizando el siguiente comando (ID de aplicación que puede encontrar en la interfaz de usuario web):

$ yarn logs -applicationId <yourApplicationId>

O puede mirar directamente a los archivos de registro completos en el host Master / ResourceManager:

$ ll /hadoop/logs/ | grep resourcemanager -rw-rw-r-- 1 hadoop hadoop 368414 Jun 12 18:12 yarn-hadoop-resourcemanager-master.log -rw-rw-r-- 1 hadoop hadoop 2632 Jun 12 17:52 yarn-hadoop-resourcemanager-master.out

Y en hosts Slave / NodeManager:

$ ll /hadoop/logs/ | grep nodemanager -rw-rw-r-- 1 hadoop hadoop 284134 Jun 12 18:12 yarn-hadoop-nodemanager-slave.log -rw-rw-r-- 1 hadoop hadoop 702 Jun 9 14:47 yarn-hadoop-nodemanager-slave.out

También verifique si todas las variables de entorno son correctas:

HADOOP_CONF_LIB_NATIVE_DIR=/hadoop/lib/native HADOOP_MAPRED_HOME=/hadoop HADOOP_COMMON_HOME=/hadoop HADOOP_HDFS_HOME=/hadoop YARN_HOME=/hadoop HADOOP_INSTALL=/hadoop HADOOP_CONF_DIR=/hadoop/etc/hadoop YARN_CONF_DIR=/hadoop/etc/hadoop SPARK_HOME=/spark