Spark on Yarn Не удалось отправить RPC, и ведомый потерян - PullRequest
0 голосов
/ 20 февраля 2019

Я хочу развернуть spark2.3.2 на Yarn, Hadoop2.7.3.
Но когда я запускаю:

spark-shell

Всегда повышать ОШИБКУ:

ERROR TransportClient:233 - Failed to send RPC 4858956348523471318 to /10.20.42.194:54288: java.nio.channels.ClosedChannelException
...
ERROR YarnScheduler:70 - Lost executor 1 on dc002: Slave lost

И dc002, иdc003 вызовет ОШИБКИ Failed to send RPC и Slave lost.

У меня есть один главный узел и два сервера подчиненных узлов.Все они:
CentOS Linux release 7.5.1804 (Core) с 40 процессорами, 62,6 ГБ памяти и 31,4 ГБ подкачки.

Мой HADOOP_CONF_DIR:

export HADOOP_CONF_DIR=/home/spark-test/hadoop-2.7.3/etc/hadoop

Мой /etc/hosts:

10.20.51.154 dc001
10.20.42.194 dc002
10.20.42.177 dc003

В веб-интерфейсе Hadoop и Yarn я вижу как узлы dc002, так и узлы dc003,и я могу запустить простую задачу mapreduce для пряжи в hadoop.
Но когда я запускаю spark-shell или SparkPi пример программы с помощью

./spark-submit --deploy-mode client --class org.apache.spark.examples.SparkPi spark-2.3.2-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.3.2.jar 10

, ошибки всегда возникают.
Я действительно хочупочему произошли эти ошибки.

Ответы [ 2 ]

0 голосов
/ 24 февраля 2019

Я исправил эту проблему, изменив файл yarn-site.xml conf:

<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>

<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
0 голосов
/ 20 февраля 2019

Попробуйте этот параметр в своем коде-

spark.conf.set("spark.dynamicAllocation.enabled", "false")

Во-вторых, во время выполнения искровой отправки задайте такие параметры, как --executor-memory и --num-executors sample:

spark2-submit --executor-memory 20g --num-executors 15 --class com.executor mapping.jar 
...