配置 Spark 以 YARN 模式

以下是配置 Spark 以 YARN 模式运行的详细步骤:

环境准备

  • 安装 JDK :所有节点需安装 JDK 1.8 或以上版本,并配置环境变量,确保 JAVA_HOME 正确指向安装路径。
  • 安装 Hadoop :安装 Hadoop(推荐 3.x 版本),并配置好 YARN。在 yarn-site.xml 中启用资源调度,设置 yarn.resourcemanager.hostname 为主节点 IP 或主机名。同时,设置 HADOOP_HOMEHADOOP_CONF_DIR 环境变量。
  • 安装 Spark :下载与 Hadoop 兼容的 Spark 版本(如 Spark 3.5.5 对应 Hadoop 3.x),解压至统一目录(如 /opt/spark),并配置 SPARK_HOME 环境变量。

修改 Spark 配置文件

  • 修改 spark-env.sh :在 Spark 的 conf 目录下,重命名 spark-env.sh.templatespark-env.sh,并添加以下配置以关联 Hadoop 和 YARN:

    复制代码
    export JAVA_HOME=/opt/java/jdk8
    export HADOOP_HOME=/opt/hadoop/hadoop-3.2.2
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export SPARK_DIST_CLASSPATH=$(hadoop classpath)
  • 修改 spark-defaults.conf :在 Spark 的 conf 目录下,重命名 spark-defaults.conf.templatespark-defaults.conf,并添加以下配置:

    复制代码
    spark.master                        yarn
    spark.eventLog.enabled              true
    spark.eventLog.dir                  hdfs://master:9000/spark-logs
    spark.history.fs.logDirectory       hdfs://master:9000/spark-logs
    spark.yarn.resourcemanager.address  master:8032
    spark.yarn.historyServer.address    http://master:18080
    spark.yarn.stagingDir               hdfs://master:9000/spark-Staging

启动服务

  • 启动 Hadoop 与 YARN 服务

    • 启动 HDFS:start-dfs.sh
    • 启动 YARN:start-yarn.sh
      确认 ResourceManager 和 NodeManager 进程正常运行。
  • 启动 Spark 历史服务器 :在启动 Spark 历史服务器之前,需要在 HDFS 创建对应的目录:

    复制代码
    hdfs dfs -mkdir -p /spark-logs
    hdfs dfs -mkdir -p /spark-Staging

提交测试任务

使用 spark-submit 提交示例程序,验证集群是否正常工作。例如:

复制代码
spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
$SPARK_HOME/examples/jars/spark-examples_2.12-3.5.5.jar 100

检查 YARN Web UI(默认端口 8088)中任务状态和日志输出。

相关推荐
字节跳动数据平台16 小时前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术18 小时前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
武子康19 小时前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康2 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天2 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康4 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
肌肉娃子4 天前
20260227.spark.Spark 性能刺客:千万别在 for 循环里写 withColumn
spark
武子康5 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库5 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全