如何搭建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 文件位置连同其主入口函数参数值.


注意事项

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

相关推荐
qq_5088234028 分钟前
金融量化指标--2Alpha 阿尔法
大数据·人工智能
好家伙VCC1 小时前
数学建模模型 全网最全 数学建模常见算法汇总 含代码分析讲解
大数据·嵌入式硬件·算法·数学建模
2301_781668614 小时前
Elasticsearch 02
大数据·elasticsearch·搜索引擎
isfox5 小时前
Google GFS 深度解析:分布式文件系统的开山之作
大数据·hadoop
用户Taobaoapi20145 小时前
京东店铺所有商品API技术开发文档
大数据·数据挖掘·数据分析
在未来等你6 小时前
Kafka面试精讲 Day 8:日志清理与数据保留策略
大数据·分布式·面试·kafka·消息队列
江畔独步7 小时前
Flink TaskManager日志时间与实际时间有偏差
大数据·flink
TDengine (老段)7 小时前
TDengine 选择函数 Last() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
TDengine (老段)8 小时前
TDengine 选择函数 First 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
沧海一粟青草喂马9 小时前
抖音批量上传视频怎么弄?抖音矩阵账号管理的专业指南
大数据·人工智能·矩阵