如何搭建spark yarn模式的集群

发布于:2025-05-02 ⋅ 阅读:(52) ⋅ 点赞:(0)

以下是搭建 Spark on YARN 模式集群的详细步骤:

一、环境准备

  1. 操作系统:建议使用 CentOS、Ubuntu 等主流 Linux 发行版。
  2. Java 环境:安装 JDK 1.8 或以上版本。
  3. Hadoop 集群:确保已经搭建并正常运行的 Hadoop 集群。

二、安装 Spark

  1. 下载并解压 Spark
    tar -zxvf spark-3.x.x-bin-hadoop3.x.tgz -C /opt
    mv /opt/spark-3.x.x-bin-hadoop3.x /opt/spark
    
    (根据实际版本号替换 3.x.x3.x)。
  2. 配置环境变量
    /etc/profile~/.bashrc 文件中添加:
    export SPARK_HOME=/opt/spark
    export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
    
    然后执行 source /etc/profilesource ~/.bashrc

三、配置 Spark on YARN

  1. 配置 spark-env.sh
    • 复制模板文件:
      cp /opt/spark/conf/spark-env.sh.template /opt/spark/conf/spark-env.sh
      
    • 编辑文件,添加以下内容:
      export JAVA_HOME=/path/to/java
      export HADOOP_CONF_DIR=/path/to/hadoop/etc/hadoop
      export YARN_CONF_DIR=/path/to/hadoop/etc/hadoop
      
      (将 /path/to/java/path/to/hadoop 替换为实际路径)。
  2. 配置 spark-defaults.conf
    • 复制模板文件:
      cp /opt/spark/conf/spark-defaults.conf.template /opt/spark/conf/spark-defaults.conf
      
    • 编辑文件,添加以下配置:
      spark.master yarn
      spark.eventLog.enabled true
      spark.eventLog.dir hdfs://namenode:8020/spark/eventLogs
      spark.yarn.historyServer.address historyserver:18080
      spark.yarn.jars hdfs://namenode:8020/spark/jars/*
      
      (将 namenodehistoryserver 替换为实际的主机名或 IP 地址)。
  3. 上传 Spark JAR 包到 HDFS
    hdfs dfs -mkdir -p /spark/jars
    hdfs dfs -put /opt/spark/jars/* /spark/jars/
    
    这样可以避免每次提交作业时重新上传。
  4. 配置 YARN 的 yarn-site.xml
    • 确保 Hadoop 的 yarn-site.xml 文件中包含以下配置:
      <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 文件分发到集群的所有节点。

四、分发配置文件

  1. 使用工具(如 scp 或自定义脚本)将 /opt/spark 目录和配置文件分发到所有节点,确保集群中各节点的 Spark 安装和配置一致。

五、启动集群

  1. 启动 Hadoop 集群
    start-dfs.sh
    start-yarn.sh
    
  2. 启动 Spark History Server
    /opt/spark/sbin/start-history-server.sh
    

六、测试集群

  1. 提交一个简单的 Spark 作业测试集群是否正常运行:
    spark-submit --master yarn --deploy-mode client examples/src/main/python/pi.py 1000
    
    如果作业成功运行并输出结果,则说明集群搭建成功。

注意事项

  • 确保所有节点的网络连通性良好,主机名和 IP 地址配置正确。
  • 根据实际需求调整 Spark 和 YARN 的资源配置,例如内存和 CPU 核心数。
  • 如果遇到问题,可以查看 Spark 和 YARN 的日志文件进行排查。

通过以上步骤,你可以成功搭建一个 Spark on YARN 模式的集群。


网站公告

今日签到

点亮在社区的每一天
去签到