Проблема

Проблема

Проблема

Я пытаюсь установить Spark на кластер Hadoop. Я установил и протестировал Hadoop. Я могу исследовать HDFS и запустить пример MapReduce. Однако, когда я попытался установить Spark, я не смог его запустить, потому что он не запускается с EOFException.

Системная информация:

  • Рокки Линукс 8.8
  • Ядро 4.18.0
  • hadoop-3.3.6
  • spark-3.5.0-bin-без-hadoop

Настраивать:

  • node32.cluster - главный узел
  • node[33-35].cluster - HDFS и вычислительные узлы

Примечания

  • У меня есть каталоги NFS /opt/с настройками Hadoop и Spark, которые /homeиспользуются совместно на всех узлах, поэтому я уверен, что конфигурация одинакова.
  • У меня есть пользователь hadoop:hadoopна всех узлах

Конфигурация Hadoop

core-site.xml

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://node32.cluster:10000</value>
    </property>
</configuration>

hdfs-сайт.xml

<configuration>
    <property>
            <name>dfs.namenode.name.dir</name>
        <value>/mnt/hadoop/data/name_node</value>
    </property>

    <property>
            <name>dfs.datanode.data.dir</name>
            <value>/mnt/hadoop/data/data_node</value>
    </property>

    <property>
            <name>dfs.replication</name>
            <value>3</value>
    </property>
</configuration>

mapred-сайт.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
            <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    </property>
</configuration>

пряжа-сайт.xml

<configuration>
    <property>
        <name>yarn.acl.enable</name>
        <value>0</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node32</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.detect-hardware-capabilities</name>
        <value>true</value>
    </property>
</configuration>

Конфигурация искры

spark-defaults.conf

spark.master                       yarn
spark.eventLog.enabled             true
spark.eventLog.dir                 hdfs://node32.cluster:9000/spark-logs
spark.history.provider             org.apache.spark.deploy.history.FsHistoryProvider
spark.history.fs.logDirectory      hdfs://node32.cluster:9000/spark-logs
spark.history.fs.update.interval   10s
spark.history.ui.port              18

искра-env.sh

export SPARK_DIST_CLASSPATH="$(hadoop classpath)"

Среда

export HADOOP_HOME="/opt/hadoop-3.3.6"
export HADOOP_CONF_DIR="$HADOOP_HOME/etc/hadoop"
export SPARK_HOME="/opt/spark-3.5.0-bin-without-hadoop"
export LD_LIBRARY_PATH="$HADOOP_HOME/lib/native:$LD_LIBRARY_PATH"

Работа и проблема

$HADOOP_HOME/sbin/start-all.sh

Результат JPS на мастере

4069901 ResourceManager
4077965 Master
4068697 SecondaryNameNode
4078614 Worker
4088135 Jps
4067905 NameNode

Результат JPS на других узлах

3350467 NodeManager
3357158 Jps
3349966 DataNode

Пример запуска

spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master yarn \
  --deploy-mode cluster \
  --num-executors 1 \
  $SPARK_HOME/examples/jars/spark-examples_2.12-3.5.0.jar

Журналы ошибок с узла

02:41:16.548 [Driver] ERROR org.apache.spark.SparkContext - Error initializing SparkContext.
java.io.IOException: DestHost:destPort node32.cluster:9000 , LocalHost:localPort node34/192.168.100.34:0. Failed on local exception: java.io.IOException: java.io.EOFException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_392]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_392]
...

Запустить spark-shell с тем же результатом

spark-shell

Журнал ошибок

02:47:31.499 [main] ERROR org.apache.spark.SparkContext - Error initializing SparkContext.
java.io.EOFException: End of File Exception between local host is: "node32/192.168.100.32"; destination host is: "node32.cluster":9000; : java.io.EOFException; For more details see:  http://wiki.apache.org/hadoop/EOFException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_392]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_392]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_392]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_392]
...

Я посмотрел вики, но не смог понять, в чем именно первопричина.

Заключение

Может ли кто-нибудь помочь с этой проблемой?

Связанный контент