Question Comment empêcher les exécuteurs Spark d'être perdus lors de l'utilisation du mode client YARN?


Salut, j'ai un travail Spark qui fonctionne bien localement avec moins de données mais quand je le programme sur YARN pour exécuter, je continue à obtenir l'ERREUR suivante et lentement tous les exécuteurs sont supprimés de l'interface utilisateur et mon travail échoue

15/07/30 10:18:13 ERROR cluster.YarnScheduler: Lost executor 8 on myhost1.com: remote Rpc client disassociated
15/07/30 10:18:13 ERROR cluster.YarnScheduler: Lost executor 6 on myhost2.com: remote Rpc client disassociated

J'utilise la commande suivante pour planifier un travail d'étincelle en mode client filé

 ./spark-submit --class com.xyz.MySpark --conf "spark.executor.extraJavaOptions=-XX:MaxPermSize=512M" --driver-java-options -XX:MaxPermSize=512m --driver-memory 3g --master yarn-client --executor-memory 2G --executor-cores 8 --num-executors 12  /home/myuser/myspark-1.0.jar

Je ne sais pas quel est le problème s'il vous plaît guide. Je suis nouveau à Spark. Merci d'avance.


34
2017-07-30 15:59


origine


Réponses:


J'ai eu un problème très similaire. Beaucoup d'exécutants ont été perdus, peu importe la quantité de mémoire que nous leur avons attribuée.

La solution si vous utilisez du fil était de définir --conf spark.yarn.executor.memoryOverhead=600, ou si votre cluster utilise des mesos, vous pouvez essayer --conf spark.mesos.executor.memoryOverhead=600 au lieu.

Il semble que nous ne soyons pas en train de laisser suffisamment de mémoire pour YARN lui-même et que des conteneurs ont été tués à cause de cela. Après le réglage, nous avons eu des erreurs de mémoire différentes, mais pas le même problème d’exécuteur perdu.


24
2017-11-11 03:16



J'étais également confronté au même problème. Pour moi, supprimer des journaux et libérer plus d'espace hdfs fonctionnait.


-3
2018-04-24 10:24