公司网站维护怎么维护,免费网站的建设,柳州游戏网站建设,cdr做网站文章目录 第1关#xff1a; Standalone 分布式集群搭建任务描述相关知识课程视频Spark分布式安装模式示例集群信息配置免密登录准备Spark安装包配置环境变量修改 spark-env.sh 配置文件修改 slaves 文件分发安装包启动spark验证安装 编程要求测试说明答案代码报错问题基本过程… 文章目录 第1关 Standalone 分布式集群搭建任务描述相关知识课程视频Spark分布式安装模式示例集群信息配置免密登录准备Spark安装包配置环境变量修改 spark-env.sh 配置文件修改 slaves 文件分发安装包启动spark验证安装 编程要求测试说明答案代码报错问题基本过程 第1关 Standalone 分布式集群搭建
任务描述
掌握 Standalone 分布式集群搭建。
相关知识
我们已经掌握了 Spark 单机版安装那么分布式集群怎么搭建呢 接下来我们学习 Standalone 分布式集群搭建。
课程视频
如果你需要在本地配置 Spark 完全分布式环境可以通过查看课程视频来学习。
课程视频《克隆虚拟机与配置网络》
课程视频《配置集群免密登录》
课程视频《Spark配置文件设置》
课程视频《Spark完全分布式总结》
Spark分布式安装模式
Spark 分布式环境安装目前有四种模式
1.StandaloneSpark 自带的简单群资源管理器安装较为简单不需要依赖 Hadoop
2.Hadoop YARN:使用 YARN 作为集群资源管理安装需要依赖 Hadoop
3.Apache Mesos:不常用
4.Kubernetes:不常用。
本地学习测试我们常用 Standalone 模式生产环境常使用 YARN 模式。
示例集群信息
以下表格为本教程所用示例集群节点信息
节点名称节点角色masterworkermasterslave1workerslave2worker
我们准备了三台虚拟服务器连接方式如下
服务器SSH密码ipmasterssh 172.18.0.2123456172.18.0.2slave1ssh 172.18.0.3123456172.18.0.3slave2ssh 172.18.0.4123456172.18.0.4
第一步我们需要在 evassh 服务器初始化虚拟服务器
cd /home
wrapdocker
ulimit -f 1024000
docker load -i hbase-ssh2_v1.0.tar
docker-compose up -d注意请不要在各个虚拟服务器之间进行 ssh 登录这种操作会导致无法保存配置数据。正确方法是在虚拟服务器里执行 exit 后回到 evassh 服务器再按上述方法登录各虚拟服务器。 配置免密登录
Hadoop 集群在启动脚本时会去启动各个节点此过程是通过 SSH 去连接的为了避免启动过程输入密码需要配置免密登录。
1、分别在 master、slave1、slave 生成密钥命令如下
ssh-keygen -t rsa2、 在 master 复制 master、slave1、slave2 的公钥。
cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
ssh rootslave1 cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
ssh rootslave2 cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys3、 分别在 slave1、slave2 复制 master 的 authorized_keys 文件。
ssh rootmaster cat ~/.ssh/authorized_keys ~/.ssh/authorized_keys到此免密已经成功可以在各个虚拟服务器之间进行 ssh 登录而不需要输入密码了。
准备Spark安装包
把 evassh 服务器的 /usr/local 目录下的 spark 安装包通过 SCP 命令上传到 master 虚拟服务器的 /usr/local 目录下。
scp -r /usr/local/spark-2.3.4-bin-hadoop2.7 root172.18.0.2:/usr/local密码为123456。
配置环境变量
我们将 Spark 的安装目录配置到 /etc/profile 中在文件末尾添加。
不要忘了 source /etc/profile。
该步骤所有虚拟服务器节点均可执行。
修改 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安装路径/usr/lib/jvm/jdk1.8.0_111
export JAVA_HOMEjava安装路径
#指定SCALA安装位置,非必须配置可不指定
export SCALA_HOMEscala安装路径
#指定spark master webui 端口默认是 8080跟 tomcat 冲突
SPARK_MASTER_WEBUI_PORT8888
#指定Master节点IP或映射地址
export SPARK_MASTER_IPmaster节点IP或映射地址修改 slaves 文件
首先生成一份 slaves 文件master节点。
切换到 Spark 的 conf 目录下 执行命令 mv slaves.template slaves
修改 slaves 文件 执行命令 vi slaves 在该文件中加入作为 worker 节点 ip 或映射主机名。
master
slave1
slave2分发安装包
把 master 节点的 spark 安装包分发到 slave1 节点和 slave2 节点通过 scp 命令。
scp -r spark-2.3.4-bin-hadoop2.7/ rootslave1:/usr/local启动spark
切换到 master 节点安装目录的 /sbin 目录下 执行命令启动 Spark 集群./start-all.sh
验证安装
输入 jps 命令查看。 master 节点有以下进程
master
workerslave1 节点有以下进程
workerslave2 节点有以下进程
worker编程要求
请按照步骤小心安装安装完成后点击测评即可。
测试说明
点击测评后后台会通过curl http://172.18.0.2:8888/ 命令获取页面并取其中部分内容来判定你是否安装成功。
预期输出 listrongAlive Workers:/strong 3/li课程视频《 Spark 完全分布式搭建总结》
答案代码
报错问题
docker load -i hbase-ssh2_v1.0.tar 加载的镜像时间较长多等一会
docker-compose up -d 创建并启动服务器报错了多试几次平台的问题直到 master、slave1、slave2 几个服务器节点都启动都能 ping 通就行可以通过 docker ps -n 3 看看容器创建几个了
如果运气不好创建一半的时候挂了出现 /master 已经存在但是 master 服务器还没启动的情况使用 docker rm master 把它删了重新 docker-compose up -d 创建或者自己启动 docker start masterslave1、slave2 同理
注意使用 ssh 更换 educoder、master、slave1、slave2 几个服务器节点没配置 IP 映射直接用 IP 访问。
避免来回切换直接开四个命令行在原来 educoder 的基础上再加三个命令行用于 master、slave1、slave2
# master
ssh 172.18.0.2
# slave1
ssh 172.18.0.3
# slave2
ssh 172.18.0.4基本过程
加载并启动服务器进入 master、slave1、slave2 三个节点配置免密登录进入 educoder 节点将 Spark 文件分发给 master 节点在 master 节点上配置好环境再将 Spark 文件分发给 slave1、slave2 节点运行 Spark
# step 1
cd /home
wrapdocker
ulimit -f 1024000
docker load -i hbase-ssh2_v1.0.tar
docker-compose up -d# step 2
# 172.18.0.2、172.18.0.3、172.18.0.4, password123456
ssh-keygen -t rsa # Press Enter three times# 172.18.0.2
cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
ssh root172.18.0.3 cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
ssh root172.18.0.4 cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys# 172.18.0.3、172.18.0.4
ssh root172.18.0.2 cat ~/.ssh/authorized_keys ~/.ssh/authorized_keys# step 3: educoder
scp -r /usr/local/spark-2.3.4-bin-hadoop2.7 root172.18.0.2:/usr/local# step 4: 172.18.0.2
vim /etc/profile# add
export SPARK_HOME/usr/local/spark-2.3.4-bin-hadoop2.7
export PATH$PATH:$SPARK_HOME/binsource /etc/profilecd /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/usr/lib/jvm/jdk1.8.0_111
export SPARK_MASTER_WEBUI_PORT8888
export SPARK_MASTER_IP172.18.0.2vi slaves# add(delete localhost if exists)
172.18.0.2
172.18.0.3
172.18.0.4# step 4: scp spark to slave1 and slave2
scp -r /usr/local/spark-2.3.4-bin-hadoop2.7/ root172.18.0.3:/usr/local
scp -r /usr/local/spark-2.3.4-bin-hadoop2.7/ root172.18.0.4:/usr/local# step 5: start
$SPARK_HOME/sbin/start-all.sh