Ошибка возникает при запуске Apache Spark на Yarn

#apache-spark #hadoop-yarn

#apache-spark #hadoop-yarn

Вопрос:

Я новичок в больших данных.
Я просто хочу запустить код spark-shell --master yarn --deploy-mode client , и ошибка появляется после очень долгого ожидания:

 20/09/27 21:14:55 ERROR cluster.YarnClientSchedulerBackend: The YARN application has already ended! It might have been killed or the Application Master may have failed to start. Check the YARN application logs for more details.
20/09/27 21:14:55 ERROR spark.SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: Application application_1601211854090_0001 failed 2 times due to Error launching appattempt_1601211854090_0001_000002. Got exception: java.net.ConnectException: Call From localhost/127.0.0.1 to localhost:46345 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
        at sun.reflect.GeneratedConstructorAccessor44.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:824)
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:754)
        at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1544)
        at org.apache.hadoop.ipc.Client.call(Client.java:1486)
        at org.apache.hadoop.ipc.Client.call(Client.java:1385)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:118)
        at com.sun.proxy.$Proxy83.startContainers(Unknown Source)
        at org.apache.hadoop.yarn.api.impl.pb.client.ContainerManagementProtocolPBClientImpl.startContainers(ContainerManagementProtocolPBClientImpl.java:128)
        at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  

Это происходит только тогда, когда я хочу запустить spark на Yarn. Я могу использовать spark-shell в моем centos7.
Я добавил много вещей в свой yarn-site.sh :

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

И мой spark-env.sh :

 export SCALA_HOME=/home/scala-2.11.12
export JAVA_HOME=/home/java/jdk1.8.0_251
export HADOOP_HOME=/home/hadoop/hadoop-2.10.0
export SPARK_DIST_CLASSPATH=$(/home/hadoop/hadoop-2.10.0/bin/hadoop classpath)
export HADOOP_CONF_DIR=/home/hadoop/hadoop-2.10.0/etc/hadoop
export SPARK_MASTER_HOST=192.168.99.104
  

И я действительно не знаю, что я могу сделать, чтобы сохранить свою искру.

Ответ №1:

Пожалуйста, попробуйте найти свое приложение на сервере истории YARN и получить доступ к журналам, они могут быть более информативными с фактической ошибкой, которая указывает на реальную проблему.

В вашем случае выполните поиск application_1601211854090_0001 .

Комментарии:

1. Мне жаль, что я не могу найти журнал, запустив yarn log -applicationId . Итак, я иду проверять журнал 192.168.99.104: 8088 и обнаруживаю, что ошибка есть Call From localhost/127.0.0.1 to localhost:46345 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused , и я до сих пор не знаю, что это такое.