搭建spark yarn 模式的集群集群
一.引言
在大数据处理领域,Apache Spark 是一个强大的分布式计算框架,而 YARN(Yet Another Resource Negotiator)是 Hadoop 的资源管理系统。将 Spark 运行在 YARN 模式下,可以充分利用 YARN 强大的资源管理和调度能力,实现资源的高效利用和任务的灵活分配。本文将详细介绍如何搭建 Spark YARN 模式的集群,让你轻松上手大数据处理环境的搭建。
二、环境准备
在开始搭建集群之前,需要确保以下环境已准备就绪:
操作系统:建议使用 Linux 系统(如 CentOS、Ubuntu),本文以 CentOS 7 为例。
JDK:安装 Java Development Kit 8 或更高版本,确保 JAVA_HOME 环境变量已正确配置。
Hadoop:安装 Hadoop 集群(版本建议 2.7 及以上),并确保 HDFS 和 YARN 服务正常运行。
SSH 无密码登录:配置集群节点之间的 SSH 无密码登录,方便节点间通信。
三、下载与安装 Spark
- 下载 Spark:访问 Apache Spark 官网,选择合适的版本(建议选择与 Hadoop 版本兼容的版本),下载预编译的二进制包。例如,下载 spark-3.3.2-bin-hadoop3.2.tgz 。
wget https://archive.apache.org/dist/spark/spark-3.3.2/spark-3.3.2-bin-hadoop3.2.tgz
解压安装:将下载的压缩包解压到指定目录,并设置执行权限。
tar -zxvf spark-3.3.2-bin-hadoop3.2.tgz -C /opt/
cd /opt
mv spark-3.3.2-bin-hadoop3.2 spark
chmod -R 755 spark
配置环境变量:在 ~/.bashrc 文件中添加以下内容,然后执行 source ~/.bashrc 使配置生效。
export SPARK_HOME=/opt/spark
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
四、配置 Spark
- 复制配置文件:进入 Spark 安装目录的 conf 文件夹,复制配置文件模板。
- 配置 spark-env.sh :编辑 spark-env.sh 文件
- 配置 slaves :编辑 slaves 文件,指定集群中的工作节点(Worker Node),每一行一个节点主机名或 IP 地址。
五、分发 Spark 到集群节点
- 将配置好的 Spark 目录分发到集群的其他节点上,使用 scp 命令:
scp -r /opt/spark root@worker1:/opt/
scp -r /opt/spark root@worker2:/opt/
scp -r /opt/spark root@worker3:/opt/
在每个节点上,同样设置 SPARK_HOME 和 PATH 环境变量。
六、启动集群
- 启动 Hadoop 集群:确保 Hadoop 的 HDFS 和 YARN 服务已启动。
start-dfs.sh
start-yarn.sh
- 启动 Spark 集群:在主节点上启动 Spark 集群。
start-slaves.sh
可以通过访问 YARN 的 Web 界面(默认地址: http://<master_ip>:8088 )查看集群资源使用情况和 Spark 任务运行状态。
七、测试集群
运行一个简单的 Spark 示例程序,验证集群是否搭建成功。
如果程序正常运行并输出计算结果,则说明 Spark YARN 模式集群搭建成功。