这里以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
test083.将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 ~/.bashrc5.启动命令
进入spark主目录,运行一下命令启动整个集群.
./sbin/start-all.sh关闭整个集群的命令如下:
./sbin/stop-all.sh6.检查集群节点状态
jps查看spark是否成功启动,成功启动则master的进程中有Master,所有slave节点的进程中有Worker。
版权声明:本文为sinat_38079265原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。