本地部署Spark集群

发布于:2025-03-16 ⋅ 阅读:(14) ⋅ 点赞:(0)

部署Spark集群大体上分为两种模式:单机模式与集群模式

大多数分布式框架都支持单机模式,方便开发者调试框架的运行环境。但是在生产环境中,并不会使用单机模式。

下面详细列举了Spark目前支持的部署模式。

(1)Local模式:在本地部署单个Spark服务

(2)Standalone模式:Spark自带的任务调度模式。(国内不常用)

(3)YARN模式:Spark使用Hadoop的YARN组件进行资源与任务调度。(国内最常用)

(4)Mesos模式:Spark使用Mesos平台进行资源与任务的调度。(国内很少用)

Local模式

1. 上传Spark压缩包并解压

tar -zxf spark-3.3.1-bin-hadoop3.tgz -C /export/server/
mv spark-3.3.1-bin-hadoop3 spark-local
cd spark-local

2.  官方求PI案例

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[*] \
./examples/jars/spark-examples_2.12-3.3.1.jar \
10

Yarn模式

1. 上传Spark压缩包并解压

tar -zxf spark-3.3.1-bin-hadoop3.tgz -C /export/server/
mv spark-3.3.1-bin-hadoop3 spark-yarn
cd spark-yarn

2. 修改spark-env.sh配置文件

cd /export/server/spark-yarn/conf
mv spark-env.sh.template spark-env.sh
vim spark-env.sh
--添加如下内容
YARN_CONF_DIR=/export/server/hadoop/etc/hadoop

没有HDFS环境的可以参考:
本地部署HDFS集群https://blog.csdn.net/m0_73641796/article/details/145998092?spm=1001.2014.3001.5501

没有Yarn环境的可以参考:

本地YARN集群部署https://blog.csdn.net/m0_73641796/article/details/146051466?spm=1001.2014.3001.5501

3. 配置历史服务

cd /export/server/spark-yarn/conf
mv spark-defaults.conf.template spark-defaults.conf
su hadoop
hdfs dfs -mkdir /directory
su root
vim spark-defaults.conf
--添加如下内容:
spark.eventLog.enabled          true
spark.eventLog.dir              hdfs://node1:8020/directory
spark.yarn.historyServer.address=node1:18080
spark.history.ui.port=18080

vim spark-env.sh
--添加如下内容:
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080 
-Dspark.history.fs.logDirectory=hdfs://node1:8020/directory 
-Dspark.history.retainedApplications=30"

启动Spark历史服务

cd /export/server/spark-yarn
sbin/start-history-server.sh

4. 启动HDFS与YARN集群

su hadoop
start-dfs.sh
start-yarn.sh

5. 官方求PI案例

su hadoop
cd /export/server/spark-yarn
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
./examples/jars/spark-examples_2.12-3.3.1.jar \
10