一起来实战部署spark2.2集群(standalone模式)
本次实战用到了三台机器,相关信息如下:
IP 地址 | 主机名 | 身份 |
---|---|---|
192.168.150.130 | master | spark的master节点 |
192.168.150.131 | slave1 | spark的一号工作节点 |
192.168.150.132 | slave2 | spark的二号工作节点 |
接下来开始实战;
执行以下命令永久关闭防火墙服务:
systemctl stop firewalld.service && systemctl disable firewalld.service
修改/etc/hostname文件,将几台电脑的主机名分别修改为前面设定的master、slave0等;
在/etc/hosts文件尾部追加以下三行内容,三台电脑追加的内容一模一样,都是下面这些:
master 192.168.150.130
slave1 192.168.150.131
slave2 192.168.150.132
groupadd spark && useradd -d /home/spark -g spark -m spark
passwd spark
jdk-8u191-linux-x64.tar.gz scala-2.12.8.tgz
[spark@localhost ~]$ ll
总用量 427836
drwxr-xr-x. 7 spark spark 245 10月 6 20:55 jdk1.8.0_191
-rw-r--r--. 1 spark spark 191753373 2月 2 08:49 jdk-8u191-linux-x64.tar.gz
drwxrwxr-x. 6 spark spark 50 12月 4 18:25 scala-2.12.8
-rw-r--r--. 1 spark spark 20467943 2月 2 08:49 scala-2.12.8.tgz
export JAVA_HOME=/home/spark/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export SCALA_HOME=/home/spark/scala-2.12.8
export PATH=${SCALA_HOME}/bin:$PATH
export SPARK_HOME=/home/spark/spark-2.3.2-bin-hadoop2.7
export PATH=${SPARK_HOME}/bin:$PATH
source .bash_profile
[spark@localhost ~]$ java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
[spark@localhost ~]$ scala -version
Scala code runner version 2.12.8 -- Copyright 2002-2018, LAMP/EPFL and Lightbend, Inc.
登录master机器:
mv spark-env.sh.template spark-env.sh
export SPARK_MASTER_IP=node0
export SPARK_MASTER_PORT=7077
export SPARK_EXECUTOR_INSTANCES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=256M
export SPARK_MASTER_WEBUI_PORT=8080
export SPARK_CONF_DIR=/home/spark/spark-2.3.2-bin-hadoop2.7/conf
export JAVA_HOME=/home/spark/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
mv slaves.template slaves
slave1
slave2
以上就是所有设置,接下来要将spark文件夹同步到其他机器上
scp -r ~/spark-2.3.2-bin-hadoop2.7 spark@slave1:~
期间会要求输入slave1的密码,输入密码后即可开始同步; 2. 在master机器执行以下命令,即可将整个spark文件夹同步到slave2:
scp -r ~/spark-2.3.2-bin-hadoop2.7 spark@slave2:~
期间会要求输入slave2的密码,输入密码后即可开始同步;
/home/spark/spark-2.3.2-bin-hadoop2.7/sbin/start-all.sh
至此,spark集群部署成功,接下来的章节,我们会一起进行更多的spark实战;