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地址。
相关推荐
暗影八度9 小时前
Spark流水线+Gravitino+Marquez数据血缘采集
大数据·分布式·spark
Lansonli21 小时前
大数据Spark(六十一):Spark基于Standalone提交任务流程
大数据·分布式·spark
簌簌曌1 天前
CentOS7 + JDK8 虚拟机安装与 Hadoop + Spark 集群搭建实践
大数据·hadoop·spark
Theodore_10221 天前
大数据(1) 大数据概述
大数据·hadoop·数据分析·spark·hbase
Aurora_NeAr1 天前
Apache Spark详解
大数据·后端·spark
qq_408413392 天前
spark 执行 hive sql数据丢失
hive·sql·spark
后端码匠2 天前
Spark 单机模式部署与启动
大数据·分布式·spark
qq_463944862 天前
【Spark征服之路-2.3-Spark运行架构】
大数据·架构·spark
yt948323 天前
如何在IDE中通过Spark操作Hive
ide·hive·spark