更新時(shí)間:2021-06-17 16:35:23 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1684次
將Hadoop打包到Docker鏡像中,就可以快速地在單個(gè)機(jī)器上搭建Hadoop集群,這樣可以方便新手測(cè)試和學(xué)習(xí)。
如下圖所示,Hadoop的master和slave分別運(yùn)行在不同的Docker容器中,其中hadoop-master容器中運(yùn)行NameNode和ResourceManager,hadoop-slave容器中運(yùn)行DataNode和NodeManager。NameNode和DataNode是Hadoop分布式文件系統(tǒng)HDFS的組件,負(fù)責(zé)儲(chǔ)存輸入以及輸出數(shù)據(jù),而ResourceManager和NodeManager是Hadoop集群資源管理系統(tǒng)YARN的組件,負(fù)責(zé)CPU和內(nèi)存資源的調(diào)度。

之前的版本使用serf/dnsmasq為Hadoop集群提供DNS服務(wù),由于Docker網(wǎng)絡(luò)功能更新,現(xiàn)在并不需要了。更新的版本中,使用以下命令為Hadoop集群創(chuàng)建單獨(dú)的網(wǎng)絡(luò):
sudo docker network create --driver=bridge hadoop
然后在運(yùn)行Hadoop容器時(shí),使用”–net=hadoop”選項(xiàng),這時(shí)所有容器將運(yùn)行在hadoop網(wǎng)絡(luò)中,它們可以通過(guò)容器名稱進(jìn)行通信。
1.下載Docker鏡像
sudo docker pull kiwenlau/hadoop:1.0
2.下載GitHub倉(cāng)庫(kù)
git clone https://github.com/kiwenlau/hadoop-cluster-docker
3.創(chuàng)建Hadoop網(wǎng)絡(luò)
sudo docker network create --driver=bridge hadoop
4.運(yùn)行Docker容器
cd hadoop-cluster-docker
./start-container.sh
運(yùn)行結(jié)果
start hadoop-master container...
start hadoop-slave1 container...
start hadoop-slave2 container...
root@hadoop-master:~#
5.啟動(dòng)hadoop
./start-hadoop.sh
6.運(yùn)行wordcount
./run-wordcount.sh
運(yùn)行結(jié)果
input file1.txt:
Hello Hadoop
input file2.txt:
Hello Docker
wordcount output:
Docker 1
Hadoop 1
Hello 2
Hadoop網(wǎng)頁(yè)管理地址:
NameNode:http://192.168.59.1:50070/
ResourceManager:http://192.168.59.1:8088/
192.168.59.1為運(yùn)行容器的主機(jī)的IP。
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Docker搭建hadoop集群",希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)