Si j'utilise spark-submit pour soumettre deux applications Spark, la 2ème application échoue toujours avec une erreur comme ci-dessous.
Caused by: java.lang.IllegalStateException: Cannot call methods on a stopped SparkContext. This stopped SparkContext was created at: org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)
Elles fonctionnent toutes bien si je les soumets une par une, c'est-à-dire attendez que la candidature précédente soit terminée, puis soumettez-en une autre.
Que me manque-t-il ici? Notre cluster utilise le mode autonome.
3 Réponses :
Vous devriez vérifier quelques points -
À la place, vous devriez utiliser:
sparksession.streams().awaitAnyTermination();
Vérifiez toutes les tâches en cours d'exécution, ayant échoué et réussies sur Spark-UI avec son journal.
Faites-moi savoir quel type de Job Spark vous soumettez. Si possible, ajoutez un extrait de code de votre application Spark défaillante.
Ce problème a disparu après la suppression explicite de l'initialisation d'un SparkContext dans les applications Spark. Le mécanisme sous-jacent reste encore un mystère.
Avez-vous vérifié les erreurs dans $ SPARK_HOME $ / logs?
@DanielSobrado L'erreur que j'ai postée est la seule chose qui me semble utile. Apparemment, il y a une sorte de collision entre les applications simultanées.