阶段一 启动学习环境进行试验前准备工作
1、远程终端连接到master,slave1节点和slave2节点。
2、分别登录到集群所有节点(master节点,slave1节点,slave2节点),全部节点均完成以下操作:
(1)上传JDK和Hadoop的安装部署文件到的/home目录下
(2)解压缩JDK和Hadoop到/opt目录下:
tar -zxvf jdk-8u112-linux-x64.tar.gz -C /opt/
tar -zxvf hadoop-2.9.2.tar.gz -C /opt/
(3)配置JDK环境:
vi /etc/profile
添加如下配置内容:
export JAVA_HOME=/opt/jdk1.8.0_112 export
JRE_HOME=/opt/jdk1.8.0_112/jre export
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jari
保存退出后使配置生效:
source /etc/profile
3、登录master节点开始配置master本地免秘钥登录:
ssh-keygen -t rsa
查看生成的文件:
cd /root/.ssh ls
4、登录slave1节点开始配置slave1本地免秘钥登录:
ssh-keygen -t rsa
查看生成的文件:
cd /root/.ssh ls
5、拷贝生成的秘钥文件到master节点的/root/.ssh目录下(添加扩展名slave1以避免覆盖master节点的id_rsa.pub文件):
scp /root/.ssh/id_rsa.pub root@master:/root/.ssh/id_rsa.pub.slave1
6、登录slave2节点开始配置slave2本地免秘钥登录:
ssh-keygen -t rsa
查看生成的文件:
cd /root/.ssh ls
7、拷贝生成的秘钥文件到master节点的/root/.ssh目录下(添加扩展名slave2以避免覆盖master节点的id_rsa.pub文件):
scp /root/.ssh/id_rsa.pub root@master:/root/.ssh/id_rsa.pub.slave2
8、登录master节点,查看已经拷贝到:/root/.ssh 目录下的秘钥文件,并生成authorized_keys文件:
cd /root/.ssh
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub.slave1 >> authorized_keys
cat id_rsa.pub.slave2 >> authorized_keys
cat authorized_keys
9、把生成的authorized_keys分别拷贝到slave1和slave2节点上:
scp /root/.ssh/authorized_keys root@slave1:/root/.ssh/
scp /root/.ssh/authorized_keys root@slave2:/root/.ssh/
10、检查/etc/hosts文件中是否已经配置master,slave1,slave2节点的ip映射:
vi /etc/hosts
11、测试免秘钥登录是否配置成功
在集群各个节点上,通过ssh命令登录到其他节点上,可以看到不再输入密码:
ssh slave1
12、spark-2.4.5-bin-without-hadoop-scala-2.12.tgz 文件下载到本地
阶段二 开始安装配置Spark集群环境
1、上传spark-2.4.5-bin-without-hadoop-scala-2.12文件到master节点的:/home目录下:
2、登录master节点,解压缩Spark安装部署文件到/opt目录下,并修改文件夹名称为:spark
cd /home
tar -zxvf spark-2.4.5-bin-without-hadoop-scala-2.12.tgz -C /opt/
3、修改/opt/spark-2.4.5-bin-without-hadoop-scala-2.12/目录名称为spark
cd /opt
mv spark-2.4.5-bin-without-hadoop-scala-2.12/ spark
4、为集群所有节点配置相同的环境变量(master,slave1和slave2节点的环境变量):
vi /etc/profile
进入编辑状态,添加如下内容:
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
5、登录master节点,修改Spark配置文件-1:
进入:/opt/spark/conf目录下,开始配置文件spark-defaults.conf(系统没有提供spark-defaults.conf文件,需要从spark-defaults.conf.template文件拷贝一份)
cd /opt/spark/conf
cp spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf
添加如下配置:
spark.master spark://master:7077
6、修改Spark配置文件-2
进入:/opt/spark/conf目录下,开始配置文件spark-env.sh(系统没有提供spark-env.sh文件,需要从spark-env.sh.template文件拷贝一份)
cd /opt/spark/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
添加如下配置:
export JAVA_HOME=/opt/jdk1.8.0_112/
export HADOOP_HOME=/opt/hadoop-2.9.2/
export HADOOP_CONF_DIR=/opt/hadoop-2.9.2/etc/hadoop
export SPARK_DIST_CLASSPATH=$(/opt/hadoop-2.9.2/bin/hadoop classpath)
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077
7、修改Spark配置文件(系统没有提供slaves文件,需要从slaves.template文件拷贝一份):
cp slaves.template slaves
vi slaves
添加以下内容:
slave1 slave2
完成后保存退出。
8、登录master节点,分发配置好的spark文件到slave1和slave2节点上:
scp -r /opt/spark root@slave1:/opt/
scp -r /opt/spark root@slave2:/opt/
阶段三 开始启动Spark
登录master节点,开始启动Spark:
cd /opt/spark/sbin
./start-all.sh
通过jps查看是否存在spark的相关进程:
jsp
在slave1和slave2节点上通过jps命令都能看到worker进程
阶段四 测试Spark-shell命令
测试Spark-shell启动:
cd /opt/spark/bin/
./spark-shell
Spark集群环境搭建成功!