大数据-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下方看到。

相关推荐
洋芋爱吃芋头1 小时前
spark缓存-persist
大数据·缓存·spark
时序数据说1 小时前
通过Linux系统服务管理IoTDB集群的高效方法
大数据·linux·运维·数据库·开源·时序数据库·iotdb
MarkHD1 小时前
第四天 从CAN总线到Spark/Flink实时处理
大数据·flink·spark
大数据追光猿1 小时前
【大数据】服务器上部署Apache Paimon
大数据·服务器·docker·架构·apache
IvanCodes2 小时前
七、Hadoop 历史追踪、数据安全阀与 MapReduce初体验
大数据·hadoop·hdfs·mapreduce·yarn
lboyj3 小时前
AI赋能高频PCB信号完整性优化
大数据·人工智能
SparkSql3 小时前
FlinkCDC采集MySQL8.4报错
大数据·flink
TDengine (老段)3 小时前
TDengine 在智慧油田领域的应用
大数据·数据库·物联网·时序数据库·iot·tdengine·iotdb
鸿乃江边鸟4 小时前
Starrocks 的 ShortCircuit短路径
大数据·starrocks·sql
斯普信云原生组4 小时前
Elasticsearch知识汇总之ElasticSearch部署
大数据·elasticsearch·jenkins