Spark,集群搭建之Yarn模式

以下是Spark基于Yarn模式的集群搭建关键步骤(需先部署Hadoop Yarn集群):

 

一、环境准备

 

1. 确认Hadoop已运行

 

- 确保HDFS、Yarn ResourceManager和NodeManager正常启动。

 

2. 安装Java

 

- 所有节点安装JDK 8+,配置 JAVA_HOME 环境变量。

 

3. 关闭防火墙

bash

systemctl stop firewalld && systemctl disable firewalld

 

 

二、下载与配置Spark

 

1. 下载Spark包

 

- 官网下载对应Hadoop版本的Spark(如 spark-3.5.0-bin-hadoop3 ),上传至主节点。

 

2. 解压与配置

bash

tar -zxvf spark-3.5.0-bin-hadoop3.tgz -C /opt  

cd /opt/spark-3.5.0-bin-hadoop3/conf  

 

 

3. 修改配置文件

 

-  spark-env.sh (新增或修改):

bash

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk # 实际JDK路径  

export HADOOP_CONF_DIR=/etc/hadoop/conf # Hadoop配置目录  

 

 

-  spark-defaults.conf (若无则新建):

bash

spark.master yarn  

spark.eventLog.enabled true  

spark.eventLog.dir hdfs://nameservice1/spark-logs # HDFS日志路径(需提前创建)  

 

 

三、分发Spark到所有节点

 

bash

scp -r /opt/spark-3.5.0-bin-hadoop3 slave1:/opt  

scp -r /opt/spark-3.5.0-bin-hadoop3 slave2:/opt  

 

 

- 确保所有节点 HADOOP_CONF_DIR 路径正确(与Hadoop配置一致)。

 

四、验证与提交任务

 

1. 测试HDFS连通性

 

- 在任意节点执行:

bash

hdfs dfs -mkdir -p /spark-logs # 创建日志目录(需与配置一致)  

hdfs dfs -chmod -R 777 /spark-logs  

 

 

2. 提交Spark任务到Yarn

bash

bin/spark-submit \  

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

  --master yarn \  

  --deploy-mode cluster \ # 可选client模式(默认)  

  --executor-memory 2g \  

  --num-executors 3 \  

  ./examples/jars/spark-examples_*.jar 100  

 

 

3. 查看任务状态

 

- Yarn Web界面: http://resourcemanager_ip:8088/cluster ,查看应用运行情况。

 

- Spark历史服务器(需配置 spark.history.fs.logDirectory ): http://master_ip:18080 。

 

注意事项

 

1. 资源分配

 

- 通过 --executor-memory 和 --executor-cores 控制单个Executor资源。

 

- Yarn全局资源需在 yarn-site.xml 中配置(如 yarn.nodemanager.resource.memory-mb )。

 

2. 日志存储

 

- 确保HDFS路径可写,否则任务可能失败。

 

3. 版本兼容性

 

- Spark与Hadoop版本需兼容(如Spark 3.5.x对应Hadoop 3.2+)。

 

4. 高可用性

 

- 若Yarn启用HA,需在 spark-defaults.conf 中配置 spark.yarn.resourceManager.address 为HA地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值