如何搭建 Spark Yarn 模式集群
1. 前置条件准备
在开始搭建 Spark YARN 集群之前,需要确保 Hadoop 和 YARN 已经正常部署并运行。可以通过执行 start-dfs.sh
和 start-yarn.sh
来启动 HDFS 和 YARN。
2. 解压 SPARK 安装包
下载适合版本的 Spark 并将其解压至指定目录。例如,在 /opt/modules/
下完成解压操作:
tar -zxf spark-3.1.2-bin-hadoop3.2.tgz -C /opt/installs/
此步骤完成后,需确认 Spark 文件夹路径已正确设置。
3. 修改 SPARK 环境配置文件
进入 Spark 的配置目录,编辑 spark-env.sh
文件以适配当前环境需求。保存更改后,可通过以下命令使新配置生效:
source spark-env.sh
该步骤对于定义诸如内存分配、日志级别等参数至关重要。
4. 分发配置文件到所有节点
为了保持一致性,建议使用自定义脚本(如 xsync.sh)同步配置文件到整个集群中的各个节点。以下是两个重要 XML 文件及其用途说明:
core-site.xml: 设置默认 FS URI。
yarn-site.xml: 控制 ResourceManager 地址及其他高级选项5。
5. 提交第一个 SPARK 应用程序
验证集群状态良好之后,可以尝试提交一个简单的 Spark Pi 示例作业给 YARN 调度器管理。具体命令如下所示:
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
./examples/jars/spark-examples_2.11-2.1.1.jar
注意这里指定了 master 参数为 “yarn”,意味着采用的是 YARN 模式的资源调度;而 deploy-mode 则选择了 cluster 方式,即驱动程序将在远程 ApplicationMaster 中运行3。
6. 监控与调试
最后一步是利用 Web UI 接口监控任务进度及排查潜在错误信息。通常情况下,默认端口号分别为:
- YARN Resource Manager Dashboard: http://<master>:8088/
- Spark History Server (可选): 如果启用了历史记录服务,则可在浏览器输入地址栏访问它——通常是 port number 18080。