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 Slave1
172.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
到此这篇关于使用docker安装hadoop(已实现) 的文章就介绍到这了,更多相关docker安装hadoop内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!