大数据-spark3.5安装部署之standalone模式

真实工作中还是要将应用提交到集群中去执行,Standalone模式就是使用Spark自身节点运行的集群模式,体现了经典的master-slave模式。集群共三台机器,具体如下

u22server4spark: master worker

u22server4spark2: worker

u22server4spark3: worker

配置免密登录

spark使用standalone模式部署时,从节点要与主节点之间进行通信。如果不配置免密登录,启动时会提示输入密码,很可能造成从节点没有成功启动;启动后当主从节点要互相访问时,依然需要密码,这时肯定失败,例如web查看时只看到一个主节点自身的worker。

节点互访存在于主从之间,从从之间不存在。所以免密配置存在于主从、从主之间。

免密登录配置过程详见:《大数据-spark3.5安装部署之免密登录

配置master

上传解压

使用PortX将jdk、spark文件上传至/opt

jdk解压

tar zxvf jdk-8u271-linux-x64.tar.gz

spark解压

进入/opt目录,创建目录module,解压文件至/opt/module

进入module,并修改名称为spark-standalone

调整配置文件

要调整的配置内容包括:jdk环境变量、hosts文件、spark配置文件。

jdk环境变量

以root用户配置环境变量

cd ~

保存后,以root用户,执行source .profle,使更改生效,并验证。

hosts文件

除将master本机即u22server4spark的ip与主机名写入外,还需要将将另外两台worker从机的ip地址与主机名写入u22server4spark的/etc/hosts,并将127.0.0.1 u22server4spark注释。否则造成环路,两个从机向master注册不成功,web查看时,wokers只会出现主机所在的这个worker。

vi /etc/hosts

spark配置文件

进入conf目录,修改workers.template为workers

修改workers文件,添加worker节点,即集群中的主机名

修改spark-env.sh.template文件名为spark-env.sh

向spark-env.sh添加内容JAVA_HOME环境变量及对应的master节点

备注:7077是默认的内部通信端口

分发至集群其他机器

分别向两台从机u22server4spark2、u22server4spark3分发jdk、spark文件。

分发至u22server4spark2

scp -r /opt/jdk1.8.0_271 u22server4spark2:/opt

或者 scp -r /opt/jdk1.8.0_271 192.168.12.77:/opt

分发spark前,在u22server4spark2的/opt中新建目录module

scp -r /opt/module/spark-standalone u22server4spark2:/opt/module

分发至u22server4spark3

scp -r /opt/jdk1.8.0_271 u22server4spark3:/opt

或者 scp -r /opt/jdk1.8.0_271 192.168.12.88:/opt

分发spark前,在u22server4spark3的/opt中新建目录module

scp -r /opt/module/spark-standalone u22server4spark3:/opt/module

配置worker

u22server4spark2

jdk环境变量

同前

hosts文件

向从机的/etc/hosts文件中添加master主机信息,并将127.0.0.1 u22server4spark2注释

vi /etc/hosts

配置worker2

u22server4spark3

jdk环境变量

同前

hosts文件

向从机的/etc/hosts文件中添加master主机信息,并将127.0.0.1 u22server4spark3注释

vi /etc/hosts

验证操作

执行以下操作,如果都没有报错,则spark安装部署成功。

启停

启动

直接在master主机即u22server4spark,运行脚本 ./start-all.sh

或者

分别在主机即u22server4spark,运行 ./start-master.sh;从机即u22server4spark2、u22server4spark3运行脚本 ./start-worker.sh

主机jps

从机jps

web

停止

直接在master主机即u22server4spark,运行脚本 ./stop-all.sh

或者

分别在主机即u22server4spark,运行 ./stop-master.sh;从机即u22server4spark2、u22server4spark3运行脚本 ./stop-worker.sh

交互

使用命令行或者提交作业的方式,与spark进行交互。

命令行

同local即本地部署

提交应用

向主机节点即u22server4spark提交一个简单的Spark任务测试集群是否配置成功

bin/spark-submit \

--master spark://192.168.12.66:7077 \

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

./examples/jars/spark-examples_2.12-3.5.5.jar \

10

备注:示例代码在spark的目录中

应用运行中,查看web时,会在Running Applications下方看到;应用完成后,查看web时,会在Compleeted Applications下方看到。

相关推荐
WordPress学习笔记7 小时前
专业建外贸网站公司推荐
大数据·前端·人工智能
Julian.zhou8 小时前
Anthropic破解长程任务难题:长期运行智能体的高效控制机制
大数据·人工智能
白日做梦Q10 小时前
Navicat for MySQL 详细使用指南:命令行操作与界面操作双视角全解析
大数据·mysql·adb·数据库开发
AI_567811 小时前
AI知识库如何重塑服务体验
大数据·人工智能
你好~每一天12 小时前
从传统行业到AI入门:我的CAIE Level I学习体验与思考
大数据·数据结构·人工智能·学习·jupyter·idea
G皮T12 小时前
【Elasticsearch】索引别名 aliases
大数据·elasticsearch·搜索引擎·es·索引·索引别名·aliases
wyiyiyi12 小时前
【数据结构+算法】非递归遍历二叉树的理解
大数据·数据结构·笔记·算法·leetcode·数据分析
爱跑步的程序员~12 小时前
Elasticsearch倒排索引
java·大数据·elasticsearch·搜索引擎·全文检索
k***216012 小时前
MySQL 批量插入详解:快速提升大数据导入效率的实战方法
大数据·数据库·mysql
( ˶˙⚇˙˶ )୨⚑︎12 小时前
借助GitHub进行团队协作小组作业
大数据·vscode·github