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

搭建 Spark on Yarn 模式的集群配置步骤

1. 环境准备

在搭建 Spark on Yarn 的集群之前,需要确保 Hadoop 和 YARN 已经正常部署并运行。以下是必要的准备工作:

  • 安装 Java JDK 并设置 `JAVA_HOME` 环境变量。

  • 部署 Hadoop 集群,并确认 HDFS 和 YARN 正常工作。

2. 下载与解压 Spark

下载适合版本的 Spark 压缩包,并将其解压缩至指定路径。例如:

```bash

wget https://archive.apache.org/dist/spark/spark-3.0.0/spark-3.0.0-bin-hadoop2.7.tgz

tar -xzvf spark-3.0.0-bin-hadoop2.7.tgz

mv spark-3.0.0-bin-hadoop2.7 /usr/local/spark

```

3. 修改 Spark 配置文件

进入 Spark 的配置目录 `/usr/local/spark/conf`,并对以下文件进行修改:

(1) `spark-env.sh`

创建或编辑该文件以设置环境变量:

```bash

export SPARK_DIST_CLASSPATH=$(hadoop classpath)

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export HADOOP_CONF_DIR=/etc/hadoop/conf

```

此操作是为了让 Spark 能够识别 Hadoop 的类路径以及相关配置。

(2) `spark-defaults.conf`

启用事件日志记录功能以便于调试和监控:

```properties

spark.eventLog.enabled true

spark.eventLog.dir hdfs://<namenode-host>:9820/spark/eventLogs

spark.eventLog.compress true

spark.yarn.historyServer.address <history-server-host>:18080

spark.yarn.jars hdfs://<namenode-host>:9820/spark/jars/*

```

其中 `<namenode-host>` 是 HDFS NameNode 的主机名,而 `<history-server-host>` 则是 Spark History Server 所在的主机名称。

(3) `slaves`

如果计划使用独立模式作为备用方案,则需在此处定义 Worker 节点列表;但在纯 YARN 场景下可以忽略此项。

4. 启动服务

完成以上配置之后即可依次启动所需的服务组件:

  • **HDFS 和 YARN**: 使用命令 `start-dfs.sh` 及 `start-yarn.sh` 来开启分布式存储系统及其资源调度框架;

  • **Spark History Server**: 如果启用了历史服务器支持的话,可通过执行脚本来激活它:

```bash

sbin/start-history-server.sh

```

5. 提交作业测试

最后通过提交一个简单的例子来验证整个流程是否通畅无误。比如利用 Cluster Mode 方式运行经典的 Pi 计算案例:

```bash

./bin/spark-submit \

--class org.apache.spark.examples.SparkPi \

--master yarn \

--deploy-mode cluster \

--driver-memory 1g \

--executor-memory 1g \

--executor-cores 1 \

examples/jars/spark-examples*.jar 10

```

这里指定了驱动器内存大小为 1GB (`--driver-memory`) ,每个执行者分配同样容量(`--executor-memory`)加上单核 CPU 处理能力(`--executor-cores`). 参数后面跟着的是 JAR 文件位置连同其主入口函数参数值.


注意事项

为了保证最佳性能体验,在实际生产环境中可能还需要进一步调整更多高级选项如动态分配策略等细节设定。

相关推荐
王禄DUT29 分钟前
防疫大数据 第27次CCF-CSP计算机软件能力认证
大数据·c++·算法
北漂老男孩1 小时前
Flink SQL 编程详解:从入门到实战难题与解决方案
大数据·sql·flink
梅一一2 小时前
5款AI对决:Gemini学术封神,但日常办公我选它
大数据·人工智能·数据可视化
telllong2 小时前
几种常用的Agent的Prompt格式
大数据·数据库·prompt
jiedaodezhuti3 小时前
elasticsearch低频字段优化
大数据·elasticsearch·搜索引擎
Smile丶凉轩4 小时前
技术栈ES的介绍和使用
大数据·c++·elasticsearch·搜索引擎
tongjiwenzhang4 小时前
AppTrace 视角下 App 一键拉起:提升应用转化率的高效方案
大数据
Mr.Demo.5 小时前
[ElasticSearch] ElasticSearch的初识与基本操作
大数据·elasticsearch·搜索引擎
transitory_truth5 小时前
ES分词搜索
大数据·elasticsearch
zskj_zhyl6 小时前
智绅科技——科技赋能健康养老,构建智慧晚年新生态
大数据·人工智能·科技