spark部署教程

一、从官网下载spark软件包

 https://archive.apache.org/dist/spark/

3.5.0版本

二、把软件包上传到对应的虚拟机中的主机上

三、解压到/opt/module

tar -zxvf spark-3.5.0-bin-hadoop3.tgz -C /opt/module/

四、部署spark环境

1.修改spark软件包的名字:方便后续访问

mv spark-3.5.0-bin-hadoop3 spark-3.5.0

2.配置spark环境变量:在任意路径下都能访问到spark软件包中的文件或文件夹

vi /etc/profile.d/my_env.sh
export SPARK_HOME=/opt/module/spark-3.5.0
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH

注意:如果环境变量错误,导致命令不能用,则输入以下命令:

export PATH=$PATH:/usr/bin:/usr/sbin:/bin:/sbin

3.生效环境变量配置

source /etc/profile

4.进入/conf改名,删掉后缀名模板

mv spark-env.sh.template spark-env.sh
mv spark-defaults.conf.template spark-defaults.conf

5.修改spark-env.sh,在末尾添加以下内容

添加jdk环境变量

export JAVA_HOME=$JAVA_HOME

添加hadoop环境变量

export HADOOP_HOME=$HADOOP_HOME

添加hadoo文件所在的路径

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

6.运行spark自带案例进行验证

./run-example SparkPi 2>&1 | grep "Pi is"

(以上是spark单机平台搭建,以下是spark完全分布式搭建)

7.再进入/opt/module/spark-3.5.0/conf/下,编辑spark-env.sh,在末尾添加以下内容

(第一行内容要写自己主机的ip)

#设置spark集群主节点的ip
export SPARK_MASTER_IP=192.168.133.3
#设置spark集群主节点进程部署的端口号
export SPARK_MASTER_PORT=7077
#设置spark的worker节点的内存
export SPARK_WORKER_MEMORY=1g
#设置spark集群worker节点的内核数
export SPARK_WORKER_CORES=2
#设置spark集群的执行器的内存
export SPARK_EXECUTOR_MEMORY=1G
#设置spark集群的执行器的内核数
export SPARK_EXECUTOR_CORES=2

8.改名

mv workers.template workers

9.编辑并加入workers

Master
slave1
slave2

10.向其他主机传送

scp -r spark-3.5.0 slave1:/opt/module/
scp -r spark-3.5.0 slave2:/opt/module/

11.开启hadoop

start-dfs.sh
start-yarn.sh

12.开启Master和workers进程(spark)

start-master.sh
start-workers.sh

3b34b47b67114af596fe60ec5a10d036.png

13.看节点是否正确

79f011b3cec5439d97705d6cf607b21a.png

04ab456ac6d445718c06a43668a49a13.png

8f8288875ecd406e96b8674216d3a735.png

14.进入/opt/module/spark-3.5.0/conf下,编辑 spark-defaults.conf最后几行内容(第一行要修改成自己对应的主机名)

(第三行要修改成主机名+端口号+自己的日志存放目录)

 vi spark-defaults.conf
# Example:
spark.master                     spark://Master:7077
#启用日志记录功能
spark.eventLog.enabled           true
#日志存放目录
spark.eventLog.dir               hdfs://Master:8020/spark-logs
spark.serializer                 org.apache.spark.serializer.KryoSerializer
spark.driver.memory              5g
spark.executor.extraJavaOptions  -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"

15.停掉Master和workers进程(spark)

stop-workers.sh
stop-master.sh

8f4e3be8ff754ce5b4db7951410a5e94.png

16.进入ui界面创建spark-logs(如果创建不了,看安全模式与防火墙是否关闭)

671b073f0115456ab4f737caf9793067.png

17.再重复步骤12

18.输入命令进行验证看是否安装成功,出现如下图所示则部署成功

spark-shell

c1e66f4a023642739beeb5558e5590f3.png五、spark的运行架构

1.按照主从模式进行部署

主节点:Master---资源管理调度和任务的分配(类似yarn)

从节点:Worker---执行具体的计算任务

2.整体运行架构

(1)用户编写spark应用程序

(2)用户将应用程序提交给spark集群

(3)驱动器会创建对应的编程入口(SparkContext/SparkSession)

(4)主节点复制资源管理调度和任务分配

(5)从节点执行计算任务(多个计算任务:每个计算任务会分配一个执行器)

(6)从节点会将任务的结果返回到主节点,主节点再继续做相应的操作

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值