こんにちは私は1つを持っていますSpark少ないデータでローカルで実行するジョブですが、YARNで実行するようにスケジュールすると、次のエラーが発生し続け、ゆっくりとすべてのエグゼキューターがUIから削除され、ジョブが失敗します
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
次のコマンドを使用して、spark yarn-clientモードのジョブをスケジュールします
./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
何が問題なのかわかりませんが、ご案内ください。 Sparkは初めてです。前もって感謝します。
私は非常に似た問題を抱えていました。どれだけのメモリを割り当てても、多くのエグゼキュータが失われました。
糸を使用している場合の解決策は、--conf spark.yarn.executor.memoryOverhead=600
、またはクラスターがmesosを使用している場合は、--conf spark.mesos.executor.memoryOverhead=600
代わりに。
spark 2.3.1+では、構成オプションは--conf spark.yarn.executor.memoryOverhead=600
YARN自体に十分なメモリを残しておらず、そのためにコンテナが殺されているようです。設定した後、メモリ不足エラーが発生しましたが、エグゼキューターの問題は失われていません。