552 字
3 分钟
Spark集群部署

Spark集群部署#

Spark的安装并配置启动#

下载Spark安装包#

Terminal window
wget -P /export/software/ https://repo.huaweicloud.com/apache/spark/spark-3.4.3/spark-3.4.3-bin-hadoop3.tgz

解压Spark安装包#

Terminal window
tar -zxvf /export/software/spark-3.4.3-bin-hadoop3.tgz -C /export/servers
# 重命名:
cd /export/servers
mv /export/servers/spark-3.4.3-bin-hadoop3 /export/servers/spark

修改配置文件#

进入spark/conf目录修改Spark的配置文件spark-env.sh,将spark-env.sh.template配置模板文件复制一份并命名为spark-env.sh,命令如下:

Terminal window
cd /export/servers/spark/conf
sudo cp /export/servers/spark/conf/spark-env.sh.template /export/servers/spark/conf/spark-env.sh

修改spark-env.sh文件#

Terminal window
sudo vim /export/servers/spark/conf/spark-env.sh

在该文件中添加以下内容:

Terminal window
#配置java环境变量
export JAVA_HOME=/export/servers/jdk
#指定Master的IP
export SPARK_MASTER_HOST=hadoop01
#指定Master的端口
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8082

复制workers.template文件,并重命名为workers#

Terminal window
sudo cp /export/servers/spark/conf/workers.template /export/servers/spark/conf/workers

编辑workers配置文件#

Terminal window
sudo vim /export/servers/spark/conf/workers
hadoop01
hadoop02
hadoop03

分发文件#

Terminal window
scp -r /export/servers/spark/ hadoop02:/tmp/
scp -r /export/servers/spark/ hadoop03:/tmp/

进入hadoop02:

Terminal window
sudo cp -r /tmp/spark /export/servers
rm -r /tmp/spark

进入hadoop03:

Terminal window
sudo cp -r /tmp/spark /export/servers
rm -r /tmp/spark

启动Spark集群#

分别添加权限#

Terminal window
cd /export/servers
sudo chown -R hadooper:hadooper /export/servers/spark/

分步启动Spark#

hadoop01:

Terminal window
cd /export/servers/spark/sbin/
/export/servers/spark/sbin/start-master.sh

hadoop02,hadoop03:

Terminal window
cd /export/servers/spark/sbin/
/export/servers/spark/sbin/start-slave.sh spark://hadoop01:7077

此步的hadoop02和hadoop03启动时如若出现问题,首先检查主机名是否正确!如若不正确,按照网络上的教程进行修改,此处不做过多赘述

输入$SPARK_HOME/sbin/start-all.sh启动(上述步骤也是启动,为按服务器逐步启动,该启动指令为批量启动),如下如所示即为成功,进一步验证打开本机浏览器输入(hadoop01的IP地址):8082如果界面正常打开如下所示即代表成功

image-20260727213203995

image-20260727213211805

使Spark适配YARN#

配置Spark以识别YARN#

进入配置目录/export/servers/spark/conf修改spark-env.sh文件

Terminal window
cd /export/servers/spark/conf
sudo vim /export/servers/spark/conf/spark-env.sh

添加如下内容:

Terminal window
# 设置Hadoop配置文件目录(请根据你的实际路径修改)
export HADOOP_CONF_DIR=/export/servers/hadoop/etc/hadoop

将以下内容注释掉(用#注释):

Terminal window
export SPARK_MASTER_HOST=hadoop01
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8082

调整YARN配置#

进入配置目录

Terminal window
cd /export/servers/hadoop/etc/hadoop

修改yarn-site.xml文件

Terminal window
sudo vim /export/servers/hadoop/etc/hadoop/yarn-site.xml

添加内容如下(注意缩进要与文件中其他内容保持一致):

<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>

分发文件#

hadoop01:

Terminal window
scp -r /export/servers/hadoop/etc/hadoop hadoop02:/tmp/

hadoop02:

Terminal window
sudo rm -rf /export/servers/hadoop/etc/hadoop
sudo cp -r /tmp/hadoop /export/servers/hadoop/etc/hadoop
rm -r /tmp/hadoop

hadoop01:

Terminal window
scp -r /export/servers/hadoop/etc/hadoop hadoop03:/tmp/

hadoop03:

Terminal window
sudo rm -rf /export/servers/hadoop/etc/hadoop
sudo cp -r /tmp/hadoop /export/servers/hadoop/etc/hadoop
rm -r /tmp/hadoop

分发完成后每个节点都需要重启YARN集群 先输入source /etc/profile加载配置 进入/export/servers/spark/sbin目录

Terminal window
cd /export/servers/spark/sbin

重新启动yarn

Terminal window
/export/servers/spark/sbin/stop-yarn.sh
/export/servers/spark/sbin/start-yarn.sh
Spark集群部署
https://mizuki.mysqil.com/posts/spark部署/
作者
SuifengFlying
发布于
2025-01-15
许可协议
CC BY-NC-SA 4.0

Big Data Deployment

11 / 12

Related articles

部分信息可能已经过时

封面
示例歌曲
示例艺术家
封面
示例歌曲
示例艺术家
0:00 / 0:00