欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 如何搭建spark yarn模式的集群

如何搭建spark yarn模式的集群

2025/5/7 12:45:32 来源:https://blog.csdn.net/rylshe1314/article/details/147594483  浏览:    关键词:如何搭建spark yarn模式的集群

1. 系统准备

  • 操作系统:推荐使用 CentOS、Ubuntu 等 Linux 发行版。

  • Java 环境:安装 JDK 1.8 或以上版本。

  • 网络配置:确保集群中各节点网络互通,主机名和 IP 地址已正确配置。

2. 安装 Hadoop

  • 下载 Hadoop:从 Apache Hadoop 官网下载合适版本的 Hadoop。

  • 解压安装:将 Hadoop 解压到指定目录,例如 /opt/hadoop

  • 配置 Hadoop

    • 修改 core-site.xmlhdfs-site.xml 文件,配置 HDFS。

    • 修改 yarn-site.xml 文件,配置 YARN。

    • 配置 slaves 文件,添加所有从节点的主机名。

  • 启动 Hadoop

     
    start-dfs.sh
    start-yarn.sh

3. 安装 Spark

  • 下载 Spark:从 Apache Spark 官网下载预编译好的 Spark 安装包。

  • 解压安装

     
    tar -zxvf spark-<version>-bin-hadoop<version>.tgz -C /opt
    mv /opt/spark-<version>-bin-hadoop<version> /opt/spark
  • 配置 Spark

    • 修改 spark-env.sh 文件:

       
      cp /opt/spark/conf/spark-env.sh.template /opt/spark/conf/spark-env.sh
      vim /opt/spark/conf/spark-env.sh

      添加以下内容:

       
      export JAVA_HOME=/path/to/java
      export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
      export YARN_CONF_DIR=/opt/hadoop/etc/hadoop
      export SPARK_DAEMON_MEMORY=1g
      export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://master:9820/spark/eventLogs/ -Dspark.history.fs.cleaner.enabled=true"
    • 修改 spark-defaults.conf 文件:

       
      cp /opt/spark/conf/spark-defaults.conf.template /opt/spark/conf/spark-defaults.conf
      vim /opt/spark/conf/spark-defaults.conf

      添加以下内容:

       
      spark.eventLog.enabled           true
      spark.eventLog.dir               hdfs://master:9820/spark/eventLogs
      spark.eventLog.compress          true
      spark.yarn.historyServer.address master:18080
      spark.yarn.jars                  hdfs://master:9820/spark/jars/*
    • 修改 log4j.properties 文件,将日志级别设置为 WARN:

      log4j.rootCategory=WARN, console

4. 配置 YARN

  • 修改 Hadoop 的 yarn-site.xml 文件,添加以下内容:

     
    <property><name>yarn.log-aggregation-enable</name><value>true</value>
    </property>
    <property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
    </property>
    <property><name>yarn.log.server.url</name><value>http://master:19888/jobhistory/logs</value>
    </property>
    <property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value>
    </property>
    <property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
    </property>
  • 将修改后的 yarn-site.xml 文件分发到所有节点。

5. 分发 Spark 配置

  • 将主节点的 Spark 安装目录(例如 /opt/spark)分发到所有从节点:

     
    scp -r /opt/spark root@slave1:/opt/
    scp -r /opt/spark root@slave2:/opt/
  • 确保所有节点的环境变量一致,修改 /etc/profile 文件:

     
    export SPARK_HOME=/opt/spark
    export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

6. 上传 Spark JAR 包到 HDFS

  • 将 Spark 的 JAR 包上传到 HDFS:

     
    hdfs dfs -mkdir -p /spark/jars/
    hdfs dfs -put /opt/spark/jars/* /spark/jars/

7. 启动相关服务

  • 启动 YARN

     
    start-yarn.sh
  • 启动 MapReduce JobHistoryServer

     
    mapred --daemon start historyserver
  • 启动 Spark History Server

     
    /opt/spark/sbin/start-history-server.sh

8. 测试集群

  • 提交一个 Spark 作业测试集群是否正常工作:

    spark-shell --master yarn

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词