摘要:總之,項(xiàng)目還算很受歡迎吧,這篇博客將介紹項(xiàng)目的升級(jí)版。一項(xiàng)目介紹將打包到鏡像中,就可以快速地在單個(gè)機(jī)器上搭建集群,這樣可以方便新手測(cè)試和學(xué)習(xí)。之前的版本使用為集群提供服務(wù),由于網(wǎng)絡(luò)功能更新,現(xiàn)在并不需要了。運(yùn)行參考第二部分啟動(dòng),并運(yùn)行。
摘要: kiwenlau/hadoop-cluster-docker是去年參加Docker巨好玩比賽開發(fā)的,得了二等獎(jiǎng)并贏了一塊蘋果手表,目前這個(gè)項(xiàng)目已經(jīng)在GitHub上獲得了236個(gè)Star,DockerHub的鏡像下載次數(shù)2000+。總之,項(xiàng)目還算很受歡迎吧,這篇博客將介紹項(xiàng)目的升級(jí)版。
一. 項(xiàng)目介紹將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)建多帶帶的網(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ò)中,它們可以通過容器名稱進(jìn)行通信。
項(xiàng)目更新要點(diǎn):
去除serf/dnsmasq
合并Master和Slave鏡像
使用kiwenlau/compile-hadoop項(xiàng)目編譯的Hadoo進(jìn)行安裝
優(yōu)化Hadoop配置
二. 3節(jié)點(diǎn)Hadoop集群搭建步驟 1. 下載Docker鏡像sudo docker pull kiwenlau/hadoop:1.02. 下載GitHub倉(cāng)庫(kù)
git clone https://github.com/kiwenlau/hadoop-cluster-docker3. 創(chuàng)建Hadoop網(wǎng)絡(luò)
sudo docker network create --driver=bridge hadoop4. 運(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:~#
啟動(dòng)了3個(gè)容器,1個(gè)master, 2個(gè)slave
運(yùn)行后就進(jìn)入了hadoop-master容器的/root目錄
5. 啟動(dòng)hadoop./start-hadoop.sh6. 運(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。
三. N節(jié)點(diǎn)Hadoop集群搭建步驟 1. 準(zhǔn)備參考第二部分1~3:下載Docker鏡像,下載GitHub倉(cāng)庫(kù),以及創(chuàng)建Hadoop網(wǎng)絡(luò)
2. 重新構(gòu)建Docker鏡像./resize-cluster.sh 5
可以指定任意N(N>1)
3. 啟動(dòng)Docker容器./start-container.sh 5
與第2步中的N保持一致。
4. 運(yùn)行Hadoop參考第二部分5~6:?jiǎn)?dòng)Hadoop,并運(yùn)行wordcount。
參考基于Docker搭建多節(jié)點(diǎn)Hadoop集群
How to Install Hadoop on Ubuntu 13.10
版權(quán)聲明
轉(zhuǎn)載時(shí)請(qǐng)注明作者KiwenLau以及本文地址:
http://kiwenlau.com/2016/06/12/160612-hadoop-cluster-docker-update/
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/26606.html
摘要:摘要在之前的一篇博客中,我介紹了基于搭建單機(jī)版,但是僅僅使用了單個(gè)節(jié)點(diǎn)。具有容錯(cuò)功能當(dāng)容器由于節(jié)點(diǎn)崩潰等原因意外停止運(yùn)行時(shí),會(huì)自動(dòng)將容器調(diào)度到其他節(jié)點(diǎn)。因此,目前僅適合運(yùn)行無(wú)狀態(tài)的服務(wù),而數(shù)據(jù)庫(kù)等有狀態(tài)服務(wù)應(yīng)該單獨(dú)部署。 摘要: 在之前的一篇博客中,我介紹了基于Docker搭建單機(jī)版Mesos/Marathon,但是僅僅使用了單個(gè)節(jié)點(diǎn)。而在這篇博客中,我將介紹基于Docker搭建多節(jié)點(diǎn)...
摘要:搭建集群首先搭建環(huán)境版本大于安裝主機(jī)監(jiān)控程序和加速器這里使用了的版本,因?yàn)榘惭b方便放開更改放開配置配置配置配置配置配置文件追加配置和在文件第一行中添加測(cè)試鏈接文件 Docker搭建Hadoop集群 首先搭建Docker環(huán)境,Docker版本大于1.3.2 安裝主機(jī)監(jiān)控程序和加速器(curl -sSL https://get.daocloud.io/daomonit/install.s...
本篇本意是介紹hadoop的部署資源隔離和調(diào)度方案yarn。順便介紹了容器和容器集群管理。說回yarn隔離分為cpu和內(nèi)存,cpu基于cgroups,內(nèi)存自行實(shí)現(xiàn)計(jì)算ru_maxrss。還對(duì)比了k8n的隔離,它內(nèi)存和cpu都基于cgroups。在調(diào)度方面介紹了yarn的兩種調(diào)度機(jī)制Capacity Scheduler和Fair Scheduler。整體:https://segmentfault.c...
閱讀 2679·2021-11-12 10:36
閱讀 2339·2021-08-23 09:47
閱讀 1777·2019-08-30 15:44
閱讀 1458·2019-08-30 14:10
閱讀 2326·2019-08-29 16:52
閱讀 2397·2019-08-29 16:40
閱讀 1651·2019-08-29 16:17
閱讀 2476·2019-08-26 13:21