如何搭建spark yarn 模式的集群集群。

以下是的 Spark YARN 模式集群搭建步骤:

一、环境准备

  1. 服务器规划
  • 至少 3 台节点:1 台主节点(运行 HDFS NameNode、YARN ResourceManager),2 台从节点(运行 HDFS DataNode、YARN NodeManager)。

  • 软件要求:JDK 1.8+、Hadoop 3.x(含 HDFS 和 YARN)、Spark 3.x。

  1. 基础配置
  • 关闭防火墙和 SELinux:

bash

systemctl stop firewalld && systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

  • 配置主节点到从节点的 SSH 免密登录。

  • 同步系统时间(如使用 ntpdate )。

二、安装与配置 Hadoop(YARN 依赖)

  1. 解压安装

bash

tar -zxvf hadoop-3.x.tar.gz -C /opt/

mv /opt/hadoop-3.x /opt/hadoop

  1. 配置环境变量

在 ~/.bashrc 中添加:

bash

export HADOOP_HOME=/opt/hadoop

export PATH=PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin

执行 source ~/.bashrc 生效。

  1. 修改核心配置文件
  • hadoop-env.sh :指定 JDK 路径(如 export JAVA_HOME=/usr/java/jdk1.8.0_301 )。

  • core-site.xml :

xml

<property>

<name>fs.defaultFS</name>

<value>hdfs://主节点IP:9000</value>

</property>

  • hdfs-site.xml :

xml

<property>

<name>dfs.replication</name>

<value>2</value> <!-- 数据副本数,根据节点数调整 -->

</property>

  • yarn-site.xml :

xml

<property>

<name>yarn.resourcemanager.hostname</name>

<value>主节点IP</value>

</property>

  1. 启动 Hadoop

bash

hdfs namenode -format # 首次初始化 namenode

start-dfs.sh # 启动 HDFS

start-yarn.sh # 启动 YARN

三、安装与配置 Spark

  1. 解压安装

bash

tar -zxvf spark-3.x-bin-hadoop3.x.tgz -C /opt/

mv /opt/spark-3.x-bin-hadoop3.x /opt/spark

  1. 配置环境变量

在 ~/.bashrc 中添加:

bash

export SPARK_HOME=/opt/spark

export PATH=PATH:SPARK_HOME/bin:$SPARK_HOME/sbin

执行 source ~/.bashrc 生效。

  1. 修改 Spark 配置

bash

cp /opt/spark/conf/spark-env.sh.template /opt/spark/conf/spark-env.sh

echo "export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop" >> /opt/spark/conf/spark-env.sh

echo "export SPARK_MASTER_IP=主节点IP" >> /opt/spark/conf/spark-env.sh

  • 编辑 slaves 文件(无后缀),添加从节点 IP(每行一个,如 从节点1IP 从节点2IP )。
  1. 分发到从节点

bash

scp -r /opt/spark 从节点1IP:/opt/

scp -r /opt/spark 从节点2IP:/opt/

从节点执行 source ~/.bashrc 生效。

四、启动 Spark 集群(YARN 模式)

Spark on YARN 无需单独启动 Spark 集群,直接提交任务到 YARN 即可:

  1. 提交任务示例

bash

spark-submit \

--master yarn \

--deploy-mode cluster \ # 集群模式(AM 运行在 YARN 中)

--executor-memory 2g \

--num-executors 2 \

/opt/spark/examples/jars/spark-examples_*.jar wordcount \

hdfs:///input.txt hdfs:///output

  1. 验证
  • 通过 YARN 界面(默认端口 8088 )查看任务运行状态。

  • 通过 Spark 历史服务器(配置 spark.history.fs.logDirectory 并启动 start-history-server.sh )查看任务日志。

关键说明

  • YARN 模式特点:Spark 任务直接运行在 YARN 资源管理器上,无需维护独立的 Spark 集群。

  • 配置调优:根据服务器资源调整 yarn.nodemanager.resource.memory-mb (YARN 内存)和 Spark 任务参数(如 --executor-memory )。

相关推荐
uesowys3 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
鹏说大数据11 小时前
Spark 和 Hive 的关系与区别
大数据·hive·spark
B站计算机毕业设计超人11 小时前
计算机毕业设计Hadoop+Spark+Hive招聘推荐系统 招聘大数据分析 大数据毕业设计(源码+文档+PPT+ 讲解)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
B站计算机毕业设计超人11 小时前
计算机毕业设计hadoop+spark+hive交通拥堵预测 交通流量预测 智慧城市交通大数据 交通客流量分析(源码+LW文档+PPT+讲解视频)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
Lansonli17 小时前
大数据Spark(八十):Action行动算子fold和aggregate使用案例
大数据·分布式·spark
鸿乃江边鸟2 天前
Spark Datafusion Comet 向量化Rust Native--CometShuffleExchangeExec怎么控制读写
大数据·rust·spark·native
伟大的大威3 天前
NVIDIA DGX Spark (ARM64/Blackwell) Kubernetes 集群 + GPU Operator 完整部署指南
大数据·spark·kubernetes
小邓睡不饱耶3 天前
深度实战:Spark GraphX构建用户信任网络,精准锁定高价值目标用户(含完整案例)
大数据·spark·php
B站计算机毕业设计超人3 天前
计算机毕业设计hadoop+spark+hive共享单车预测系统 共享单车数据可视化分析 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·python·深度学习·spark·毕业设计·课程设计
B站计算机毕业设计超人3 天前
计算机毕业设计Python+Spark+Hadoop+Hive微博舆情分析 微博情感分析可视化 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·python·spark·cnn·课程设计