Bonjour, j'ai un travail Spark) qui s'exécute localement avec moins de données, mais lorsque je le programme sur YARN, 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 programmer spark travail 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.
J'ai eu un problème très similaire. J'avais perdu beaucoup d'exécuteurs, peu importe la quantité de mémoire allouée.
Si vous utilisez du fil, la solution consistait à définir --conf spark.yarn.executor.memoryOverhead=600
, sinon, si votre cluster utilise des mesos, vous pouvez essayer --conf spark.mesos.executor.memoryOverhead=600
au lieu.
Dans spark 2.3.1+, l'option de configuration est maintenant --conf spark.yarn.executor.memoryOverhead=600
Il semble que nous ne laissions pas assez de mémoire pour YARN et que des conteneurs soient tués à cause de cela. Après avoir défini que nous avons eu différentes erreurs de mémoire insuffisante, mais pas le même problème d’exécuteur perdu.