Spark集群部署

这里以Spark完全分布式集群部署为例。这里我有8台服务器(名字为test01,test02,....,test08),test01作为集群的master,其余作为集群的slave。

从官网下载Spark二进制文件,解压,进入conf目录。

1.更改spark-env.sh

mv spark-env.sh.template spark-env.sh
vim spark-env.sh

更改为以下内容

export JAVA_HOME=/home/lemaker/Toolkits/jdk1.8.0_221
export SPARK_MASTER_HOST=test01
export SPARK_MASTER_PORT=7077

一般来说,java环境变量(第一行不需要配置),第二行指定master的名字或者ip,第三行指定端口号。

2.更改slaves

mv slaves.template slaves
vim slaves

将所有slave主机的名字或者ip添加进来.

# A Spark Worker will be started on each of the machines listed below.
test02
test03
test04
test05
test06
test07
test08

3.将Spark整个文件夹从master节点同步到所有slave节点

4.master节点配置环境变量

vim ~/.bashrc

添加一下内容

export SPARK_HOME=/home/lemaker/open-source/spark-2.3.0-bin-hadoop2.7
export PATH=${SPARK_HOME}/bin:${PATH}

 第一行指定你的Spark的主目录,我用的是spark2.3。

使环境变量生效。

source ~/.bashrc

5.启动命令

进入spark主目录,运行一下命令启动整个集群.

./sbin/start-all.sh

关闭整个集群的命令如下:

./sbin/stop-all.sh

6.检查集群节点状态

jps查看spark是否成功启动,成功启动则master的进程中有Master,所有slave节点的进程中有Worker。


版权声明:本文为sinat_38079265原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。