org.apache.spark.SparkException: Emploi annulée en raison de la scène de l'échec: la Tâche de l'application
J'ai un problème avec l'exécution de la spark application autonome sur cluster. (J'utilise spark version 1.1.0).
J'ai réussi à exécuter le serveur maître par la commande:
bash start-master.sh
Puis-je exécuter un travailleur par la commande:
bash spark-class org.apache.spark.deploy.worker.Worker spark://fujitsu11:7077
À la maîtrise de l'INTERFACE web:
http://localhost:8080
Je vois, et que le maître et l'ouvrier sont en cours d'exécution.
Puis-je faire fonctionner mon application à partir d'Eclipse Luna. J'ai réussi à vous connecter au cluster par la commande
JavaSparkContext sc = new JavaSparkContext("spark://fujitsu11:7077", "myapplication");
Et après que l'application fonctionne, mais lorsque le programme de obtenir code suivant:
JavaRDD<Document> collectionRdd = sc.parallelize(list);
Il plante avec le message d'erreur suivant:
org.apache.spark.SparkException: Job aborted due to stage failure: Task 7 in stage 0.0 failed 4 times, most recent failure: Lost task 7.3 in stage 0.0 (TID 11, fujitsu11.inevm.ru):java.lang.ClassNotFoundException: maven.maven1.Document
java.net.URLClassLoader$1.run(URLClassLoader.java:366)
java.net.URLClassLoader$1.run(URLClassLoader.java:355)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:354)
java.lang.ClassLoader.loadClass(ClassLoader.java:425)
java.lang.ClassLoader.loadClass(ClassLoader.java:358)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:270)
org.apache.spark.serializer.JavaDeserializationStream$$anon$1.resolveClass(JavaSerializer.scala:59)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.readArray(ObjectInputStream.java:1706)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1344)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500)
org.apache.spark.rdd.ParallelCollectionPartition.readObject(ParallelCollectionRDD.scala:74)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:62)
org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:87)
org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:159)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:744)
Driver stacktrace:
at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1185)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1174)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1173)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1173)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:688)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:688)
at scala.Option.foreach(Option.scala:236)
at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:688)
at org.apache.spark.scheduler.DAGSchedulerEventProcessActor$$anonfun$receive$2.applyOrElse(DAGScheduler.scala:1391)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:498)
at akka.actor.ActorCell.invoke(ActorCell.scala:456)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237)
at akka.dispatch.Mailbox.run(Mailbox.scala:219)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Shell, j'ai trouvé:
14/11/12 18:46:06 INFO ExecutorRunner: Launch command: "C:\PROGRA~1\Java\jdk1.7.0_51/bin/java" "-cp" ";;D:\spark\bin\..\conf;D:\spark\bin\..\lib\spark-assembly-
1.1.0-hadoop1.0.4.jar;;D:\spark\bin\..\lib\datanucleus-api-jdo-3.2.1.jar;D:\spar
k\bin\..\lib\datanucleus-core-3.2.2.jar;D:\spark\bin\..\lib\datanucleus-rdbms-3.
2.1.jar" "-XX:MaxPermSize=128m" "-Dspark.driver.port=50913" "-Xms512M" "-Xmx512M
" "org.apache.spark.executor.CoarseGrainedExecutorBackend" "akka.tcp://sparkDriv
[email protected]:50913/user/CoarseGrainedScheduler" "0" "fujitsu11.inevm.ru
" "8" "akka.tcp://[email protected]:50892/user/Worker" "app-2014111
2184605-0000"
14/11/12 18:46:40 INFO Worker: Asked to kill executor app-20141112184605-0000/0
14/11/12 18:46:40 INFO ExecutorRunner: Runner thread for executor app-2014111218
4605-0000/0 interrupted
14/11/12 18:46:40 INFO ExecutorRunner: Killing process!
14/11/12 18:46:40 INFO Worker: Executor app-20141112184605-0000/0 finished with
state KILLED exitStatus 1
14/11/12 18:46:40 INFO LocalActorRef: Message [akka.remote.transport.ActorTransp
ortAdapter$DisassociateUnderlying] from Actor[akka://sparkWorker/deadLetters] to
Actor[akka://sparkWorker/system/transports/akkaprotocolmanager.tcp0/akkaProtoco
l-tcp%3A%2F%2FsparkWorker%40192.168.3.5%3A50955-2#1066511138] was not delivered.
[1] dead letters encountered. This logging can be turned off or adjusted with c
onfiguration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-
shutdown'.
14/11/12 18:46:40 INFO LocalActorRef: Message [akka.remote.transport.Association
Handle$Disassociated] from Actor[akka://sparkWorker/deadLetters] to Actor[akka:/
/sparkWorker/system/transports/akkaprotocolmanager.tcp0/akkaProtocol-tcp%3A%2F%2
FsparkWorker%40192.168.3.5%3A50955-2#1066511138] was not delivered. [2] dead let
ters encountered. This logging can be turned off or adjusted with configuration
settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
14/11/12 18:46:41 ERROR EndpointWriter: AssociationError [akka.tcp://sparkWorker
@fujitsu11.inevm.ru:50892] -> [akka.tcp://[email protected]:50954
]: Error [Association failed with [akka.tcp://[email protected]:5
0954]] [
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://sp
[email protected]:50954]
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon
$2: Connection refused: no further information: fujitsu11.inevm.ru/192.168.3.5:5
0954
]
14/11/12 18:46:42 ERROR EndpointWriter: AssociationError [akka.tcp://sparkWorker
@fujitsu11.inevm.ru:50892] -> [akka.tcp://[email protected]:50954
]: Error [Association failed with [akka.tcp://[email protected]:5
0954]] [
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://sp
[email protected]:50954]
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon
$2: Connection refused: no further information: fujitsu11.inevm.ru/192.168.3.5:5
0954
]
14/11/12 18:46:43 ERROR EndpointWriter: AssociationError [akka.tcp://sparkWorker
@fujitsu11.inevm.ru:50892] -> [akka.tcp://[email protected]:50954
]: Error [Association failed with [akka.tcp://[email protected]:5
0954]] [
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://sp
[email protected]:50954]
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon
$2: Connection refused: no further information: fujitsu11.inevm.ru/192.168.3.5:5
0954
]
Dans les journaux:
14/11/12 18:46:41 ERROR EndpointWriter: AssociationError [akka.tcp://sparkMaster@fujitsu11:7077] -> [akka.tcp://[email protected]:50913]: Error [Association failed with [akka.tcp://[email protected]:50913]] [
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://[email protected]:50913]
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: Connection refused: no further information: fujitsu11.inevm.ru/192.168.3.5:50913
]
14/11/12 18:46:42 INFO Master: akka.tcp://[email protected]:50913 got disassociated, removing it.
14/11/12 18:46:42 ERROR EndpointWriter: AssociationError [akka.tcp://sparkMaster@fujitsu11:7077] -> [akka.tcp://[email protected]:50913]: Error [Association failed with [akka.tcp://[email protected]:50913]] [
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://[email protected]:50913]
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: Connection refused: no further information: fujitsu11.inevm.ru/192.168.3.5:50913
]
14/11/12 18:46:43 ERROR EndpointWriter: AssociationError [akka.tcp://sparkMaster@fujitsu11:7077] -> [akka.tcp://[email protected]:50913]: Error [Association failed with [akka.tcp://[email protected]:50913]] [
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://[email protected]:50913]
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: Connection refused: no further information: fujitsu11.inevm.ru/192.168.3.5:50913
]
J'ai googlé beaucoup, mais je n'ai aucune idée de quoi de mal...
J'ai trouvé un peu similaire discussion ici:
https://github.com/datastax/spark-cassandra-connector/issues/187
Mais ça ne résout pas mon problème...
Quelqu'un sait quoi de mal?
Merci.
Merci pour la réponse rapide! Non, je vais essayer votre approche, merci pour les conseils! Mais c'est assez triste, que l'exécution de l'IDE throws exception...
L'a obtenu. Le problème était avec le classpath. L'utilisation de la première réponse de celle-ci : stackoverflow.com/questions/574594/... pour créer un gros pot. Ensuite, à l'aide de bougies de soumettre, d'exécuter l'application. Pour moi, c'était quelque chose comme ceci : ./spark-soumettre --classe "bac à sable.Mllib.MllibTest" --master "étincelle://JPawade.local:7077" /Users/aditya.pawade/Projects/IntelliJ/Sandbox/target/sandbox-1.0-SNAPSHOT-jar-with-dependencies.jar Ensuite, il doit s'exécuter. Peut-être il ya une autre solution. Mais cela ne fonctionne pas.
Merci Man, Vous êtes incroyable! Je vais essayer et de faire rapport sur les résultats!
OriginalL'auteur dimson | 2014-11-12
Vous devez vous connecter pour publier un commentaire.
Trouvé une façon de l'exécuter à l'aide de l'IDE /Maven
Exécuter mvn clean package pour créer le fichier Jar. Il sera créé dans votre dossier cible.
Exécuter à l'aide de votre IDE ou à l'aide de maven commande :
Cela ne nécessite pas d'étincelle soumettre. N'oubliez pas de package de fichier avant d'exécuter
Si vous ne voulez pas coder en dur le pot de chemin d'accès, vous pouvez le faire :
Cela va prendre le pot de l'jar la classe a été chargé.
Je ne sais pas comment ça fonctionne exactement, mais de ce que j'ai lu, je pense que le pilote de programme crée un serveur, à laquelle toutes les autres clusters de nœuds de travail de connecter et d'obtenir l'application jar. Si vous avez 2 choix. 1. Les fichiers jar de vos dépendances devrait être disponible dans le classpath de nœuds travailleur ( configuré dans le SCALA_CLASSPATH ), ou il devrait être disponible avec le pilote, avec les travailleurs ayant une connectivité avec le pilote de nœud. Pouvez-vous expliquer en détail à propos de votre architecture ? Je ne suis pas en mesure de comprendre ce qu'est la machine distante ( travailleur/de l'application ) et le réseau général
Mon maître à la machine est une machine, où j'ai exécuter le serveur maître, et lorsque je lance mon application. La distance à la machine est une machine où j'ai seulement exécuter
bash spark-class org.apache.spark.deploy.worker.Worker spark://mastermachineIP:7077
. Les deux machines sont dans un réseau local, et la machine distante réussi à se connecter au maître. (Je le vois dans localhost:8080 sur le maître). Je devrais peut-être définir certains paramètres dans SparkConf? Quand j'ai créer la graisse pot il n'y avait qu'JavaSparkContext sc = new JavaSparkContext("spark://mastermachineIP:7077", "myapplication");
Et comment êtes-vous l'exécution de l'application ? À partir du serveur maître ? Utilisez le pot ? Aussi, la graisse pot doit contenir les fichiers jar de vos dépendances. Lorsque vous créez le pot de graisse, vous devez donner à spécifier les pots, puis les emballer.
Mais comment êtes-vous enfin de la planification du déploiement ? En fin de compte, vous devrez le compiler, l'emballer dans un gros pot et ensuite l'exécuter à l'aide de java -jar droit ? Pouvez-vous essayer de cette façon ? Si vous êtes en cours d'exécution à l'aide de l'IDE, il faut le compiler et le paquet de l'application d'abord, puis spécifiez le chemin d'accès du pot dans le SparkConf et ensuite l'exécuter. J'ai été en mesure d'exécuter de cette façon dans mon système
OriginalL'auteur Aditya Pawade
Pour le bénéfice de tiers l'exécution de ce problème:
J'ai été confronté à un problème identique en raison d'un décalage entre l'étincelle connecteur d'allumage et de la version utilisée. Spark a été 1.3.1 et le connecteur est 1.3.0, identique d'un message d'erreur est apparu:
La mise à jour de la dépendance dans le SBT a résolu le problème.
SBT est le Scala Outil de construction
OriginalL'auteur Lyuben Todorov