Spark架构说明
standalone模式是Spark自带的分布式集群模式,不依赖其他的资源调度框架
安装步骤
下载spark安装包,下载地址:https://spark.apache.org/downloads.html(国外网络卡慢,建议使用vpn,链接下载)
或者,百度搜索: 清华大学开源软件镜像站,可以快速下载安装包
上传spark安装包到Linux服务器上
解压Spark安装包
tar -zxvf spark-3.0.1-bin-hadoop3.2.tgz -C /opt/apps进入到spark按照包目录并将conf目录下的spark-env.sh.template重命名为spark-env.sh,再修改
export JAVA_HOME=/usr/local/jdk1.8.0_251/
export SPARK_MASTER_HOST=node-1.51doit.com
在文件操作模式下可以使用:
:r! echo JAVA_HOME将conf目录下的slaves.template重命名为slaves并修改,指定Worker的所在节点
linux01
linux02
linux03将配置好的spark拷贝到其他节点(写脚本远程拷贝)
for i in {2…3}; do scp -r spark-3.0.1-bin-hadoop3.2 linux0 i : i: i:PWD; done
启动Spark集群
-
sbin/start-all.sh
-
jps --查看java进程
在linux01上可用看见Master进程,在其他的节点上可用看见到Worker -
访问Master的web管理界面,端口8080
linux01:8080
如果不行就试
linux01:8081
一些重要参数的配置
在spark包/conf/spark-env.sh中添加
export SPARK_WORKER_CORES=4 #指定worker可用的逻辑核数
export SPARK_WORKER_MEMORY=2g #指定worker可用的内存大小
standalone模式高可用部署
spark的standalone模式可用启动两个以上的Master,但是需要依赖zookeeper进行协调,所有的节点启动后,都向zk注册
export SPARK_DAEMON_JAVA_OPTS=" -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=linux01:2181,linux02:2181,linux03:2181 -Dspark.deploy.zookeeper.dir=/spark"
启动Spark Shell
/opt/apps/spark-3.0.0-bin-hadoop3.2/bin/spark-shell
--master spark://linux01:7077
--executor-memory 1g
--total-executor-cores 3
参数说明:
–master 指定masterd地址和端口,协议为spark://,端口是RPC的通信端口
–executor-memory 指定每一个executor的使用的内存大小
–total-executor-cores指定整个application总共使用了cores