Pourquoi ne spark-shell --master fil-client ne parviennent pas (encore pyspark --master fil semble fonctionner)?
Je suis en train de lancer l'étincelle shell sur mon cluster Hadoop via Fil.
J'utilise
- Hadoop 2.4.1
- Étincelle 1.0.0
Mon cluster Hadoop fonctionne déjà. Afin d'utiliser Spark, j'ai construit Étincelle comme décrit ici :
mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.1 -DskipTests clean package
La compilation fonctionne très bien, et je peux courir spark-shell
sans problèmes. Toutefois, en l'exécutant sur le fils :
spark-shell --master yarn-client
me met le message d'erreur suivant :
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)
Étincelle parvient à communiquer avec mon cluster, mais ça ne marche pas.
Une autre chose intéressante est que je peux accéder à mon cluster à l'aide de pyspark --master yarn
. Cependant, je reçois le message d'avertissement suivant
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
et une infinie du temps de calcul lorsque vous faites quelque chose d'aussi simple que de
sc.wholeTextFiles('hdfs://vm7x64.fr/').collect()
Ce qui peut être à l'origine de ce problème ?
yarn logs
). Le deuxième moyen du cluster n'a pas assez de ressources à allouer à votre demande de conteneurs. Vérifiez votre Fil de configuration pour vous assurer qu'il a suffisamment de mémoire disponible pour les conteneurs.avez-vous réussi à le faire fonctionner, finalement? Ne étincelle de la coquille de même le soutien de FILS de mode?
OriginalL'auteur fxm | 2014-07-07
Vous devez vous connecter pour publier un commentaire.
Veuillez vérifier votre cluster Hadoop est de fonctionner correctement.
Sur le nœud maître suivant le FIL doit être un processus en cours d'exécution:
Sur les nœuds esclaves/exécuteurs:
Assurez-vous également que vous avez créé une référence (ou copié ces fichiers) à la configuration Hadoop Spark répertoire config :
Vous pouvez aussi vérifier si ResourceManager de l'INTERFACE Web sur le port 8088 - http://master:8088/cluster/nodes. Il doit y avoir une liste de nœuds disponibles et des ressources.
Vous devez prendre un coup d'oeil à vos fichiers journaux à l'aide de la commande suivante (ID de l'application que vous pouvez trouver dans l'INTERFACE Web):
Ou vous pouvez chercher directement à l'intégralité des fichiers journaux sur le Master/ResourceManager de l'hôte:
Et sur l'Esclave/NodeManager hôtes:
Aussi vérifier si toutes les variables d'environnement sont corrects:
Essayez:
find /* -name "*yarn*log*"
je vais avoir le même problème, j'ai essayé de tout cela, mais encore le problème n'est pas de problèmes. s'il vous plaît si quelqu'un aider, je suis coincé ici.
OriginalL'auteur Vit D