使用docker安裝hadoop(已實現)

老酒的酒瓶不見了發表於2023-01-29

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

相關文章