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地址。
相关推荐
阿里云大数据AI技术13 小时前
聚数成湖,以智驭行:卓驭如何构建移动物理 AI 的数据底座
人工智能·spark
大菠萝爱上小西瓜20 小时前
基于 Spark + Iceberg 湖仓一体的 Netflix 流媒体用户行为全链路数仓与 ALS 智能推荐决策系统(含穿透下钻大屏)
大数据·分布式·spark
ha_lydms1 天前
Datetime Functions(日期时间函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms1 天前
Bitwise Functions(位运算函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms2 天前
St Functions(空间函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms2 天前
Table Functions(表函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms2 天前
Json Functions(JSON 函数)
大数据·hadoop·spark·json·数据处理·dataworks·maxcompute
ha_lydms2 天前
Conditional Functions(条件函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms2 天前
String Functions(字符串函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
阿里云大数据AI技术4 天前
在 EMR Serverless Spark 中访问 Fluss
人工智能·spark