0


【头歌实训】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:

图 1
查看 master 节点 IP

slave1:

图 1
查看 slave1 节点 IP

slave2:

图 1
查看 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 地址。

图 1
配置主机映射

操作示意图如下:

图 1
主机映射操作示意图

免密登录

在各个节点服务器生成秘钥:

#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 直连即可查看相关信息,如下示意图:

,

img

点开后,查看密码:

,

注:密码可双击选中后复制,但环境重置后密码会随机生成。

在 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

操作示意图如下:

图 1
免密登录操作示意图

准备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-R777 bin/
chmod-R777 sbin/
配置环境变量

我们将 Spark 的安装目录配置到 /etc/profile 中(在文件末尾添加)。

exportSPARK_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_201exportJAVA_HOME=/opt/jdk1.8.0_201
#指定SCALA安装位置,非必须配置,可不指定# export SCALA_HOME=scala安装路径#指定spark master webui 端口,默认是 8080,跟 tomcat 冲突SPARK_MASTER_WEBUI_PORT=8888#指定Master节点IP或映射地址exportSPARK_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/

命令获取页面,并取其中部分内容来判定你是否安装成功。

预期输出:

<li><strong>Alive Workers:</strong> 3</li>

课程视频《 Spark 完全分布式搭建总结》

答案代码

注意使用

ssh

更换

educoder、master、slave1、slave2

几个服务器节点

# master、slave1、slave2vi /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# mastercat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
# 密码在工具箱的SSH直连中 UcauZKAUOiwWaPVpssh slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
# 密码在工具箱的SSH直连中 uoTD2AnMfpMMtj0gssh slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

# slave1ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

# slave2ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

# mastercp /data/bigfiles/userfiles.zip /usr/local/
cd /usr/local/
unzip userfiles.zip
cd /usr/local/spark-2.3.4-bin-hadoop2.7/
chmod-R777 bin/
chmod-R777 sbin/

vim /etc/profile

# addexportSPARK_HOME=/usr/local/spark-2.3.4-bin-hadoop2.7
exportPATH=$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

# addexportJAVA_HOME=/opt/jdk1.8.0_201
SPARK_MASTER_WEBUI_PORT=8888exportSPARK_MASTER_IP=master

cp slaves.template slaves
vi slaves

# add(delete localhost if exists)
master
slave1
slave2

# scp spark to slave1 and slave2scp-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
标签: 分布式 spark wpf

本文转载自: https://blog.csdn.net/qq_61828116/article/details/135236012
版权归原作者 撕得失败的标签 所有, 如有侵权,请联系我们删除。

“【头歌实训】Spark 完全分布式的安装和部署(新)”的评论:

还没有评论