Impossible de charger la classe principale de fichier JAR
J'ai une application Spark-scala, j'ai essayé d'affichage d'un message simple "Bonjour mon Application". quand je compile il par sbt la compilation c'est bien, aussi je le lance par sbt terme, c'est bien, j'affiche mon message avec succès, mais il affiche une erreur; comme ceci:
Hello my application!
16/11/27 15:17:11 ERROR Utils: uncaught error in thread SparkListenerBus, stopping SparkContext
java.lang.InterruptedException
ERROR ContextCleaner: Error in cleaning thread
java.lang.InterruptedException
at org.apache.spark.ContextCleaner$$anon$1.run(ContextCleaner.scala:67)
16/11/27 15:17:11 INFO SparkUI: Stopped Spark web UI at http://10.0.2.15:4040
[success] Total time: 13 s, completed Nov 27, 2016 3:17:12 PM
16/11/27 15:17:12 INFO DiskBlockManager: Shutdown hook called
Je ne comprends pas, c'est bien ou pas!
Aussi quand j'essaye de charger mon fichier jar, après la course, il afficheur également une erreur:
ma ligne de commande ressemble:
spark-submit "appfilms" --master local[4] target/scala-2.11/system-of-recommandation_2.11-1.0.jar
Et l'erreur c'est:
Error: Cannot load main class from JAR file:/root/projectFilms/appfilms
Run with --help for usage help or --verbose for debug output
16/11/27 15:24:11 INFO Utils: Shutdown hook called
S'il vous plaît pouvez vous me répond!
- Avez-vous essayé de faire ce que le message d'erreur dit? utiliser l'option --help ou --verbose sur l'étincelle se soumettre à voir ce que les journaux ont à dire.
- Autant que je sache, il devrait être soumis avec
--jars
option comme ...$SPARK_HOME/bin/spark-submit --driver-class-path your jar[s] --jars your jar[s]
- pouvez-vous essayer cette
spark-submit \ --verbose --master local[4] \ --class yourclass yourjar.jar
- si ni est le travail
jar -tvf system-of-recommandation_2.11-1.0.jar | grep appfilms
pour vérifier les attendus de la classe est là, dans le fichier jar - vérifier également que mon answer
Vous devez vous connecter pour publier un commentaire.
L'erreur est due au fait que le SparkContext n'est pas arrêté, c'est nécessaire dans les versions plus élevé que Spark 2.x.
Cela devrait être arrêté pour éviter cette erreur en
SparkContext.stop()
, ousc.stop()
. Source d'Inspiration pour la résolution de cette erreur est acquise à partir de ses propres expériences et les sources suivantes: Spark Contexte, Spark Auditeur erreur de BusVous avez oublié d'utiliser --Paramètre classe
spark-soumettre "appfilms" --master locales[4] target/scala-2.11/system-of-recommandation_2.11-1.0.jar
étincelle soumettre --classe "appfilms" --master locales[4] target/scala-2.11/system-of-recommandation_2.11-1.0.jar.
Veuillez noter que si appfilm appartient à aucun paquet ne pas oublié d'ajouter le nom du package ci-dessous
packagename.appfilms
Je crois que ça va suffire