基于docker和ubuntu的spark集群搭建

基于docker和ubuntu的spark集群搭建

先在网上下载含有spark的镜像,我的镜像名为 mycos

因为博主能力有限,所以该方法只针对有图形化界面的ubuntu用户

##打开命令行创建三个tab

在这里插入图片描述
点击弹出菜单的new tab

在这里插入图片描述
做这一步的原因有两个:
1.我需要通过镜像创建三个容器 一个master,两个slave
2.防止创建的容器IP相同

###创建容器
1.输入 sudo docker images 查看镜像名称
在这里插入图片描述

2.在第一个tab里创建容器cloud1,作为master
在这里插入图片描述
由四种颜色圈出来的有不同的意义
蓝色部分,是创造的容器的名称,这里我写的cloud2,但推荐第一个写cloud1,作为master.

红色部分,是加入IP到名称的映射。推荐在这里将172.17.0.3等价为cloud2

银色部分,同上。推荐在这里将172.17.0.4等价为cloud3

青色部分,同上。但这里推荐要将172.17.0.2等价为cloud1 .也就是说最后一个部分,必须将本容器名进行映射

2.在第二,三个tab里创建容器cloud2,cloud3,作为slave
方法同上,但是要特别注意:
当创建一个容器后,不要关闭。否则,创建的容器,ip会重复

可以进入容器后使用ifconfig命令查看
在这里插入图片描述
cloud1 必须为172.17.0.2
cloud2 必须为172.17.0.3
cloud3 必须为172.17.0.4

在这里插入代码片sudo docker run \
--name cloud2  \
-h cloud1 --add-host cloud1:172.17.0.2 \
 -h cloud3 --add-host cloud3:172.17.0.4  \
 -h cloud2 --add-host cloud2:172.17.0.3 \
 -it mycos




###创建密钥
进入cloud1容器

sudo docker start  cloud1
sudo docker attach cloud1

然后生成密钥

ssh-keygen -t rsa 

一直按空格就可以

然后进入ssh目录

cd ~/.ssh

将密钥加入authorized_keys

cat ./id_rsa.pub >> ./authorized_keys

对cloud2,cloud3做同样的操作

退出cloud1
ctrl+d

然后
将cloud1的公共密钥复制到cloud2,cloud3的相同目录~/.ssh中
该步骤,先将cloud1的密钥放入宿主机的当前目录

sudo docker cp cloud1:/root/.ssh/id_rsa.pub   ./

再从当前目录转移到cloud2,cloud3

sudo docker cp  ./id_rsa.pub  cloud2:/root/.ssh
sudo docker cp  ./id_rsa.pub  cloud3:/root/.ssh

在cloud2和cloud3里,将密钥加入authorized_keys

cat ./id_rsa.pub >> ./authorized_keys

###修改spark文件

先进入配置文件目录,根据下载的docker可能有所不同

 cd ~/spark/dist/conf
cp slaves.template slaves
cp spark-env.sh.template spark-env.sh

执行这两个命令后,vim slaves
在这里插入图片描述
插入两个slaves的名字

然后vim spark-env.sh

在这里插入图片描述
加入master的名字

然后
cd …
cd sbin

bash start-all.sh

###检验成功,可以命令行输入jps
如果cloud1出现master
cloud2和cloud3出现worker,就说明成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值