部署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