搭建一個(gè)集群環(huán)境時(shí)需要多臺(tái)服務(wù)器幌氮,對(duì)于我們個(gè)人,這通常是個(gè)門檻暮芭,需要使用虛擬機(jī)鹿驼,安裝操作系統(tǒng)欲低,然后運(yùn)行起來(lái)多個(gè)虛機(jī)。
前幾天寫了文章“Hadoop 集群搭建”之后蠢沿,一個(gè)朋友留言說(shuō)希望介紹下如何使用Docker部署伸头,這個(gè)建議很好,Docker不僅在生產(chǎn)環(huán)境威力巨大舷蟀,對(duì)于我們?cè)谧约弘娔X中搭建學(xué)習(xí)實(shí)驗(yàn)環(huán)境更是非常便利恤磷。搭建一個(gè)集群環(huán)境時(shí)需要多臺(tái)服務(wù)器,對(duì)于我們個(gè)人野宜,這通常是個(gè)門檻扫步,需要使用虛擬機(jī),安裝操作系統(tǒng)匈子,然后運(yùn)行起來(lái)多個(gè)虛機(jī)河胎。
hadoop
安裝操作系統(tǒng)是個(gè)不太輕松的任務(wù),并且運(yùn)行多個(gè)虛機(jī)對(duì)個(gè)人電腦性能也有一定要求虎敦,這些門檻影響了很多小伙伴的實(shí)踐積極性游岳,使用Docker的話就簡(jiǎn)單了,不用安裝操作系統(tǒng)其徙,直接下載一個(gè)鏡像胚迫,如centos,這樣操作系統(tǒng)就有了唾那,基于這個(gè)系統(tǒng)鏡像運(yùn)行多個(gè)容器访锻,就相當(dāng)于起了多個(gè)虛機(jī),而且系統(tǒng)性能的消耗要遠(yuǎn)小于虛擬機(jī)闹获。假設(shè)我們有一個(gè) centos7 鏡像期犬,啟動(dòng)多個(gè)容器,每個(gè)容器都有一個(gè)IP避诽,都能通過(guò)SSH連接操作龟虎,這樣就可以在每個(gè)容器中安裝 JAVA Hadoop,從而搭建起集群環(huán)境了沙庐。
使用Docker搭建Hadoop 集群的過(guò)程包括:
安裝Docker獲取centos鏡像安裝SSH為容器配置IP安裝JAVA和Hadoop
配置Hadoop
第1步比較簡(jiǎn)單鲤妥,去Docker官網(wǎng)下載安裝就好,第5和第6步與在獨(dú)立服務(wù)器中的操作是一樣的轨功,所以這里就介紹一下2-4步的Docker操作方式
獲取centos7鏡像
大概是70多M,使用阿里云等Docker加速器的話很快就能下載完容达,之后在鏡像列表中就可以看到查看鏡像列表的命令:
安裝SSH
以centos7鏡像為基礎(chǔ)古涧,構(gòu)建一個(gè)帶有SSH功能的centos
內(nèi)容:
這段內(nèi)容的大意是:以 centos 鏡像為基礎(chǔ),安裝SSH的相關(guān)包花盐,設(shè)置了root用戶的密碼為 111111羡滑,并啟動(dòng)SSH服務(wù)
執(zhí)行構(gòu)建鏡像的命令菇爪,新鏡像命名為 centos7-ssh
執(zhí)行完成后,可以在鏡像列表中看到
設(shè)置固定IP
需要用到 pipework柒昏,他用于給容器設(shè)置IP
先下載
安裝bridge-utils
創(chuàng)建網(wǎng)絡(luò)
基于 centos7-ssh 這個(gè)鏡像啟動(dòng)一個(gè)容器凳宙,名為 centos7.ssh
設(shè)置IP
為名為 centos7.ssh 的容器指定了IP 192.168.3.20
分別使用 ping 與 ssh 命令進(jìn)行驗(yàn)證,看是否可以ping通和成功登錄
ssh成功登錄后职祷,就意味著已經(jīng)準(zhǔn)備好了一臺(tái)服務(wù)器氏涩,再運(yùn)行2個(gè)容器、設(shè)置好IP有梆,那么就相當(dāng)于有了3臺(tái)服務(wù)器
這樣就有了3個(gè)可以SSH連接的容器是尖,可以在上面安裝和配置集群環(huán)境了
構(gòu)建Hadoop鏡像
上面是運(yùn)行了3個(gè)centos容器,需要在每個(gè)容器中單獨(dú)安裝Hadoop環(huán)境泥耀,我們可以像構(gòu)建SSH鏡像一樣饺汹,構(gòu)建一個(gè)Hadoop鏡像,然后運(yùn)行3個(gè)Hadoop容器痰催,這樣就更簡(jiǎn)單了
內(nèi)容:
這里是基于 centos7-ssh 這個(gè)鏡像兜辞,把 JAVA 和 Hadoop 的環(huán)境都配置好了
前提:在Dockerfile所在目錄下準(zhǔn)備好 jdk-8u101-linux-x64.tar.gz 與 hadoop-2.7.3.tar.gz
執(zhí)行構(gòu)建命令,新鏡像命名為 hadoop
運(yùn)行3個(gè)hadoop容器夸溶,分別命名為 hadoop0,hadoop1,hadoop2逸吵,hadoop0 作為master
容器hadoop0啟動(dòng)時(shí),映射了端口號(hào)蜘醋,50070和8088胁塞,是用來(lái)在瀏覽器中訪問(wèn)hadoop WEB界面的
配置IP
配置Hadoop集群
新開3個(gè)終端窗口,分別連接到 hadoop0,hadoop1,hadoop2压语,便于操作
在各個(gè)容器中修改 /etc/hosts啸罢,添加:
接下來(lái)就是配置SSH免登錄,及hadoop的配置文件了胎食,方法和之前“ Hadoop集群搭建 ”中的一樣
這樣就使用Docker實(shí)現(xiàn)了Hadoop集群的搭建
結(jié)語(yǔ)
感謝您的觀看扰才,如有不足之處,歡迎批評(píng)指正厕怜。
如果有對(duì)大數(shù)據(jù)感興趣的小伙伴或者是從事大數(shù)據(jù)的老司機(jī)可以加群:
658558542? ? (?點(diǎn)擊即可加入群聊)
里面整理了一大份學(xué)習(xí)資料衩匣,全都是些干貨,包括大數(shù)據(jù)技術(shù)入門粥航,海量數(shù)據(jù)高級(jí)分析語(yǔ)言琅捏,海量數(shù)據(jù)存儲(chǔ)分布式存儲(chǔ),以及海量數(shù)據(jù)分析分布式計(jì)算等部分递雀,送給每一位大數(shù)據(jù)小伙伴柄延,這里不止是小白聚集地,還有大牛在線解答缀程!歡迎初學(xué)和進(jìn)階中的小伙伴一起進(jìn)群學(xué)習(xí)交流搜吧,共同進(jìn)步市俊!
最后祝福所有遇到瓶頸的大數(shù)據(jù)程序員們突破自己,祝福大家在往后的工作與面試中一切順利滤奈。