当前位置: 首页 > news >正文

如何搭建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

相关文章:

  • Centos小白之在CentOS8.5中安装Rabbitmq 3.10.8
  • DSP48E2 的 MAC模式功能仿真
  • 线段树合并与分解
  • 从外卖大战看O2O新趋势:上门私厨平台系统架构设计解析
  • power bi获取局域网内共享文件
  • Kubernetes》》k8s》》Taint 污点、Toleration容忍度
  • dummy cli-tool ubuntu22.04使用
  • QT:自定义ComboBox
  • MySQL 表的约束(二)
  • vs2022解决 此项目需要MFC库。从visual studio安装程序(单个组件选项卡)为正在使用的任何工具和体系结构安装他们问题
  • 【AI生产力工具】Windsurf,一款AI编程工具
  • 目标检测YOLO实战应用案例100讲- 无人机平台下露天目标检测与计数
  • 新能源汽车声纹监测技术的发展趋势是什么?
  • [Linux运维] [Ubuntu/Debian]在Lightsail Ubuntu服务器上安装Python环境的完整指南
  • ETL架构、数据建模及性能优化实践
  • 开源模型应用落地-全能音频新纪元-Kimi-Audio-7B-Instruct-重塑多模态交互边界
  • 网络原理 - 10(HTTP/HTTPS - 1)
  • LBS服务(基于位置的服务)与LLM(大型语言模型)交互功能分析
  • 为什么PPT中的视频无法播放?
  • 【Robocorp实战指南】Python驱动的开源RPA框架
  • 立夏的野火饭
  • 澎湃读报丨央媒头版五四青年节集中刊文:以青春之我,赴时代之约
  • 人民日报今日谈:以青春之我,赴时代之约
  • 视频公开课上线之后,北大成为多少人未曾谋面的母校?
  • 徐丹任武汉大学药学院院长:研究领域在国际上处领跑地位
  • 甘肃公布校园食品安全专项整治案例,有食堂涉腐败变质食物