6

使用docker安装hadoop(已实现) - 老酒的酒瓶不见了

 1 year ago
source link: https://www.cnblogs.com/gqboke/p/17073457.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

1.拉镜像

这里推荐第一个

docker pull registry.cn-hangzhou.aliyuncs.com/hadoop_test/hadoop_base
docker pull qianiqan/hadoop_only

2.创建容器

三个容器的名称分别是Master、Slave1、Slave2

1.创建hadoop内部网络

目的是实现容器与容器之间的相互通信

docker network create --driver=bridge hadoop

hadoop:是创建的网络名

2.创建master容器,开放端口

docker run -it --network hadoop -h Master --name Master -p 9870:9870 -p 8088:8088 registry.cn-hangzhou.aliyuncs.com/hadoop_test/hadoop_base bash

--network hadoop :指定该容器使用创建的hadoop网络

--name Master :把该容器名称命名为Master

-p 9870:9870 :将宿主机的9870端口号,映射到容器的9870端口

-p 8088:8088 : 将宿主机的8088端口号,映射到容器的8088端口

这两个开放端口

3.创建slave1容器,不开放端口

docker run -it --network hadoop -h Slave1 --name Slave1 registry.cn-hangzhou.aliyuncs.com/hadoop_test/hadoop_base bash

不开端口,只有master容器开

4.创建slave2容器,不开放端口

docker run -it --network hadoop -h Slave2 --name Slave2 registry.cn-hangzhou.aliyuncs.com/hadoop_test/hadoop_base bash

不开端口,只有master容器开

3.三台主机都修改/etc/hosts文件

分别进入三台主机,然后修改他们的hosts文件

vim /etc/hosts**************添加下面内容*************172.20.0.2 Master #(容器ip 容器主机名)172.20.0.3 Slave1172.20.0.4 Slave2

查看容器ip的方法

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器ID

4.格式化hdfs

在master容器内操作

进入hadoop的bin目录格式化

可以看出hadoop的存放目录为/usr/local/hadoop/

cd /usr/local/hadoop/bin-./hadoop namenode -format

5.启动hadoop

三台主机容器内部都可以

cd /usr/local/hadoop/sbin-./start-all.sh

6.web访问测试

宿主机ip:9870


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK