Spark,集群搭建之Yarn模式

以下是Spark基于Yarn模式的集群搭建关键步骤(需先部署Hadoop Yarn集群):

一、环境准备

  1. 确认Hadoop已运行
  • 确保HDFS、Yarn ResourceManager和NodeManager正常启动。
  1. 安装Java
  • 所有节点安装JDK 8+,配置 JAVA_HOME 环境变量。
  1. 关闭防火墙

bash

systemctl stop firewalld && systemctl disable firewalld

二、下载与配置Spark

  1. 下载Spark包
  • 官网下载对应Hadoop版本的Spark(如 spark-3.5.0-bin-hadoop3 ),上传至主节点。
  1. 解压与配置

bash

tar -zxvf spark-3.5.0-bin-hadoop3.tgz -C /opt

cd /opt/spark-3.5.0-bin-hadoop3/conf

  1. 修改配置文件

bash

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk # 实际JDK路径

export HADOOP_CONF_DIR=/etc/hadoop/conf # Hadoop配置目录

  • spark-defaults.conf (若无则新建):

bash

spark.master yarn

spark.eventLog.enabled true

spark.eventLog.dir hdfs://nameservice1/spark-logs # HDFS日志路径(需提前创建)

三、分发Spark到所有节点

bash

scp -r /opt/spark-3.5.0-bin-hadoop3 slave1:/opt

scp -r /opt/spark-3.5.0-bin-hadoop3 slave2:/opt

  • 确保所有节点 HADOOP_CONF_DIR 路径正确(与Hadoop配置一致)。

四、验证与提交任务

  1. 测试HDFS连通性
  • 在任意节点执行:

bash

hdfs dfs -mkdir -p /spark-logs # 创建日志目录(需与配置一致)

hdfs dfs -chmod -R 777 /spark-logs

  1. 提交Spark任务到Yarn

bash

bin/spark-submit \

--class org.apache.spark.examples.SparkPi \

--master yarn \

--deploy-mode cluster \ # 可选client模式(默认)

--executor-memory 2g \

--num-executors 3 \

./examples/jars/spark-examples_*.jar 100

  1. 查看任务状态
  • Yarn Web界面: http://resourcemanager_ip:8088/cluster ,查看应用运行情况。

  • Spark历史服务器(需配置 spark.history.fs.logDirectory ): http://master_ip:18080 。

注意事项

  1. 资源分配
  • 通过 --executor-memory 和 --executor-cores 控制单个Executor资源。

  • Yarn全局资源需在 yarn-site.xml 中配置(如 yarn.nodemanager.resource.memory-mb )。

  1. 日志存储
  • 确保HDFS路径可写,否则任务可能失败。
  1. 版本兼容性
  • Spark与Hadoop版本需兼容(如Spark 3.5.x对应Hadoop 3.2+)。
  1. 高可用性
  • 若Yarn启用HA,需在 spark-defaults.conf 中配置 spark.yarn.resourceManager.address 为HA地址。
相关推荐
得物技术1 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
肌肉娃子5 天前
20260227.spark.Spark 性能刺客:千万别在 for 循环里写 withColumn
spark
B站计算机毕业设计超人6 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计
十月南城6 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark
Asher05096 天前
Spark核心基础与架构全解析
大数据·架构·spark
FYKJ_201010 天前
springboot大学校园论坛管理系统--附源码42669
java·javascript·spring boot·python·spark·django·php
鸿乃江边鸟12 天前
Spark Datafusion Comet 向量化Rust Native--Native算子ScanExec以及涉及到的Selection Vectors
大数据·rust·spark·arrow
派可数据BI可视化13 天前
一文读懂系列:数据仓库为什么分层,分几层?数仓建模方法有哪些
大数据·数据仓库·信息可视化·spark·商业智能bi
码字的字节13 天前
锚点模型:数据仓库中的高度可扩展建模技术详解
大数据·数据仓库·spark