【头歌实训】Spark 完全分布式的安装和部署(新)
文章目录
-
-
- 第1关: Standalone 分布式集群搭建
-
- 任务描述
- 相关知识
-
- 课程视频
- Spark分布式安装模式
- 主机映射
- 免密登录
- 准备Spark安装包
- 配置环境变量
- 修改 spark-env.sh 配置文件
- 修改 slaves 文件
- 分发安装包
- 启动spark
- 验证安装
- 编程要求
- 测试说明
- 答案代码
-
第1关: Standalone 分布式集群搭建
任务描述
掌握 Standalone 分布式集群搭建。
相关知识
我们已经掌握了 Spark 单机版安装,那么分布式集群怎么搭建呢? 接下来我们学习 Standalone 分布式集群搭建。
课程视频
如果你需要在本地配置 Spark 完全分布式环境,可以通过查看课程视频来学习。
课程视频《克隆虚拟机与配置网络》
课程视频《配置集群免密登录》
课程视频《Spark配置文件设置》
课程视频《Spark完全分布式总结》
Spark分布式安装模式
Spark 分布式环境安装目前有四种模式:
1.Standalone:Spark 自带的简单群资源管理器,安装较为简单,不需要依赖 Hadoop;
2.Hadoop YARN:使用 YARN 作为集群资源管理,安装需要依赖 Hadoop;
3.Apache Mesos:不常用;
4.Kubernetes:不常用。
本地学习测试我们常用 Standalone 模式,生产环境常使用 YARN 模式。
主机映射
先查看各节点查看 ip 地址
master:

查看 master 节点 IP
slave1:

查看 slave1 节点 IP
slave2:

查看 slave2 节点 IP
接下来去设置主机映射,因为我们是搭建完全分布式,所以在设置映射的时候需要设置 3 台虚拟机的映射关系。
输入命令 vi /etc/hosts进行主机 ip 的映射设置,添加如下配置(根据读者环境下的虚拟机IP设置):
#master、slave1、slave2 每个人应该不相同 172.16.248.174 master 172.16.251.34 slave1 172.16.240.174 slave2
注:需要根据自身节点 ip 地址去配置,每次重置环境会刷新 ip 地址。

配置主机映射
操作示意图如下:

主机映射操作示意图
免密登录
在各个节点服务器生成秘钥:
#master、slave1、slave2 ssh-keygen -t rsa

在 master 复制 master、slave1、slave2 的公钥。
cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys ssh slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys ssh slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

接下来来查看下 slave1 节点连接密码,首先点击 slave1 命令行窗口,再点击右上角
图标,最后点击 SSH 直连即可查看相关信息,如下示意图:


点开后,查看密码:

注:密码可双击选中后复制,但环境重置后密码会随机生成。
在 slave1 复制 master 的 authorized_keys 文件。
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys
在 slave2 复制 master 的 authorized_keys 文件。
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys
操作示意图如下:

免密登录操作示意图
准备Spark安装包
解压压缩包并给文件夹赋权,步骤如下:
#复制安装包 cp /data/bigfiles/userfiles.zip /usr/local/ #进入文件夹 cd /usr/local/ #解压压缩包 unzip userfiles.zip #进入文件夹 cd /usr/local/spark-2.3.4-bin-hadoop2.7/ #赋权 chmod -R 777 bin/ chmod -R 777 sbin/
配置环境变量
我们将 Spark 的安装目录配置到 /etc/profile 中(在文件末尾添加)。
export SPARK_HOME=/usr/local/spark-2.3.4-bin-hadoop2.7
不要忘了 source /etc/profile。
该步骤在 master 主机上执行。
修改 spark-env.sh 配置文件
首先生成一份 spark-env.sh 文件(master节点):
切换目录到:/usr/local/spark-2.3.4-bin-hadoop2.7/conf 执行命令:mv spark-env.sh.template spark-env.sh
修改 spark-env.sh 文件:
执行命令:vi spark-env.sh,添加以下内容:
#指定JAVA安装路径/opt/jdk1.8.0_201 export JAVA_HOME=/opt/jdk1.8.0_201 #指定SCALA安装位置,非必须配置,可不指定 # export SCALA_HOME=scala安装路径 #指定spark master webui 端口,默认是 8080,跟 tomcat 冲突 SPARK_MASTER_WEBUI_PORT=8888 #指定Master节点IP或映射地址 export SPARK_MASTER_IP=master
修改 slaves 文件
首先生成一份 slaves 文件(master节点)。
切换到 Spark 的 conf 目录下, 执行命令: mv slaves.template slaves
修改 slaves 文件, 执行命令: vi slaves 在该文件中加入作为 worker 节点 ip 或映射主机名。
master slave1 slave2
分发安装包
把 master 节点的 spark 安装包分发到 slave1 节点和 slave2 节点(通过 scp 命令)。
scp -r /usr/local/spark-2.3.4-bin-hadoop2.7/ root@slave1:/usr/local scp -r /usr/local/spark-2.3.4-bin-hadoop2.7/ root@slave2:/usr/local
启动spark
切换到 master 节点 Spark 安装目录 /usr/local/spark-2.3.4-bin-hadoop2.7 的 sbin 目录下 执行命令启动 Spark 集群:./start-all.sh
验证安装
输入 jps 命令查看。 master 节点有以下进程:
master worker
slave1 节点有以下进程:
worker
slave2 节点有以下进程:
worker
编程要求
请按照步骤小心安装,安装完成后点击测评即可。
测试说明
点击测评后,后台会通过curl http://172.18.0.2:8888/ 命令获取页面,并取其中部分内容来判定你是否安装成功。
预期输出:
课程视频《 Spark 完全分布式搭建总结》
答案代码
注意使用 ssh 更换 educoder、master、slave1、slave2 几个服务器节点
# master、slave1、slave2 vi /etc/hosts # IP 每个人应该不相同 172.16.162.10 master 172.16.81.47 slave1 172.16.246.159 slave2 # master、slave1、slave2 ssh-keygen -t rsa # Press Enter three times # master cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys # 密码在工具箱的SSH直连中 UcauZKAUOiwWaPVp ssh slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys # 密码在工具箱的SSH直连中 uoTD2AnMfpMMtj0g ssh slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys # slave1 ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys # slave2 ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys # master cp /data/bigfiles/userfiles.zip /usr/local/ cd /usr/local/ unzip userfiles.zip cd /usr/local/spark-2.3.4-bin-hadoop2.7/ chmod -R 777 bin/ chmod -R 777 sbin/ vim /etc/profile # add export SPARK_HOME=/usr/local/spark-2.3.4-bin-hadoop2.7 export PATH=$PATH:$SPARK_HOME/bin source /etc/profile cd /usr/local/spark-2.3.4-bin-hadoop2.7/conf cp spark-env.sh.template spark-env.sh vi spark-env.sh # add export JAVA_HOME=/opt/jdk1.8.0_201 SPARK_MASTER_WEBUI_PORT=8888 export SPARK_MASTER_IP=master cp slaves.template slaves vi slaves # add(delete localhost if exists) master slave1 slave2 # scp spark to slave1 and slave2 scp -r /usr/local/spark-2.3.4-bin-hadoop2.7/ root@slave1:/usr/local scp -r /usr/local/spark-2.3.4-bin-hadoop2.7/ root@slave2:/usr/local $SPARK_HOME/sbin/start-all.sh
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/01d84eeac7.html
