Spark完全分布式集群环境搭建详细教程

1.准备的环境

jdk、zookeeper、hadoop集群。

当前服务器:三个服务器节点(hadoop101/hadoop102/hadoop103)

2.将安装软件上传到 hadoop101服务器/opt目录下

例如:spark-3.5.0-bin-hadoop3-scala2.13.tgz

3.将spark的安装目录解压到 /usr/local/software/

复制代码
tar -zxvf /opt/spark-3.5.0-bin-hadoop3-scala2.13.tgz -C /usr/local/software

4.修改文件名

复制代码
cd /usr/local/software/

mv spark-3.5.0-bin-hadoop3-scala2.13 spark

5.spark环境变量的配置

复制代码
export SPARK_HOME=/usr/local/software/spark
export SPARKPYTHON=/usr/local/software/spark/python

:$SPARK_HOME/bin:$SPARK_HOME/sbin:$SPARKPYTHON

6.环境变量的生效

复制代码
source /etc/profile

7.测试

执行:spark-shell

8.安装python插件

三台服务器都需要进行安装

复制代码
yum install -y python3

9.修改spark的配置信息

将 spark-env.sh.template 模板复制为:spark-env.sh

复制代码
cd /usr/local/software/spark/conf

cp spark-env.sh.template spark-env.sh

修改:spark-env.sh 文件

需要在spark-env.sh 中添加配置环境配置信息(Java/hadoop/zookeeper)

将以下内容,直接添加到 spark-env.sh 文件末尾即可

复制代码
export JAVA_HOME=/usr/local/software/jdk
export HADOOP_HOME=/usr/local/software/hadoop
export HADOOP_CONF_DIR=/usr/local/software/hadoop/etc/hadoop
export JAVA_LIBRAY_PATH=/usr/local/software/hadoop/lib/native
export SPARK_DIST_CLASSPATH=$(/usr/local/software/hadoop/bin/hadoop classpath)

export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER 
-Dspark.deploy.zookeeper.url=hadoop101:2181,hadoop102:2181,hadoop103:2181 
-Dspark.deploy.zookeeper.dir=/spark"

export SPARK_WORKER_MEMORY=8g
export SPARK_WORKER_CORE=8
export SPARK_MASTER_WEBUI_PORT=6633

10.修改集群节点的信息

将 workers.template 文件复制出来一个 workers

复制代码
cd /usr/local/software/spark/conf

cp workers.template workers

修改workers内容,将三个服务器的名称添加进去

如:hadoop101、hadoop102、hadoop103

11.配置历史日志

将spark-default.conf.template 复制为:spark-default.conf

复制代码
cd /usr/local/software/spark/conf

cp spark-defaults.conf.template spark-defaults.conf

修改 spark-default.conf 文件的内容

将以下内容添加到 spark-default.conf 文件的末尾

复制代码
spark.eventLog.enabled  true
spark.eventLog.dir      hdfs://laoma/spark-log

需要在 hdfs中创建 /spark-log 目录

hdfs dfs -mkdir /spark-log

12.spark环境配置文件的修改

将以下内容添加到 spark-env.sh 文件的末尾

复制代码
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080 
-Dspark.history.retainedApplications=30 
-Dspark.history.fs.logDirectory=hdfs://laoma/spark-log"

13.修改spark启动文件的名称

spark/sbin 中的启动文件名与hadoop的启动文件名相同,因此进行修改.

复制代码
mv start-all.sh start-spark.sh
mv stop-all.sh stop-spark.sh

14.将spark的文件及环境变量的配置信息传递到其它的服务器上

复制代码
 scp -r /usr/local/software/spark root@hadoop102:/usr/local/software
 scp -r /usr/local/software/spark root@hadoop103:/usr/local/software

 scp -r /etc/profile.d/my_env.sh root@hadoop102:/etc/profile.d/
 scp -r /etc/profile.d/my_env.sh root@hadoop103:/etc/profile.d/

15.hadoop102/hadoop103 环境生效

复制代码
source /etc/profile

16.启动spark服务器

首先:启动zookeeper、hadoop集群

在第一台服务器上,例如 hadoop101 上,启动spark,如下

复制代码
start-spark.sh

start-history-server.sh

查看进程

1)hadoop101 服务器上

2)hadoop102服务器上

3)hadoop103服务器上

17.访问webui 界面

http://IP地址:6633

如下:

18.服务器关闭

先关闭 spark历史服务,关闭spark服务,hadoop集群,zookeeper

恭喜您,到此安装成功。

相关推荐
谢尔登6 小时前
reset和revert最佳实践
大数据·elasticsearch·搜索引擎
xerthwis6 小时前
Kafka:现代数据架构的“脊椎”与“神经”,重新定义数据流动的民主化
大数据·kafka·数据库开发·数据库架构
灯下夜无眠6 小时前
Spark Executor 与 Driver 在三种模式下的区别
大数据·分布式·spark
一品威客爱开发7 小时前
商城 App 核心指标监控与分析:驱动用户增长与转化
大数据
m0_619731197 小时前
libmodbusTcp发送自定义功能码
大数据·elasticsearch·搜索引擎
Ashley_Amanda7 小时前
SAP ABAP 开发全攻略:从核心编程到最佳实践
大数据·数据库·sql
彭思远20067 小时前
以 MapReduce 之力,解锁螺蛳粉销量数据的有序密码
大数据·mapreduce
黎相思8 小时前
附录:ChatSDK使用
大数据·elasticsearch·搜索引擎
geneculture8 小时前
融智学:重构认知与实践的智慧体系
大数据·人工智能·融智学的重要应用·信智序位·人类智力·融智时代(杂志)