摘要:摘要將編譯所需要的依賴軟件安裝到鏡像中,然后在容器中編譯,可以提高編譯效率,同時(shí)避免污染主機(jī)。這篇博客將介紹基于編譯的方法。運(yùn)行容器編譯軟件軟件源碼以數(shù)據(jù)卷的形式掛載的容器內(nèi),編譯所得的可執(zhí)行文件也將位于數(shù)據(jù)卷內(nèi)。
摘要: 將編譯Hadoop所需要的依賴軟件安裝到Docker鏡像中,然后在Docker容器中編譯Hadoop,可以提高編譯效率,同時(shí)避免污染主機(jī)。編譯其他軟件時(shí),也可以參考這篇博客的方法。
GitHub地址:
kiwenlau/compile-hadoop
在前一篇博客中,我介紹了64位Ubuntu中編譯Hadoop的步驟。這篇博客將介紹基于Docker編譯Hadoop的方法。
一. 編譯步驟1. 下載Docker鏡像
sudo docker pull kiwenlau/compile-hadoop
或者自行構(gòu)建Docker鏡像
sudo docker build -t kiwenlau/compile-hadoop .
2. 下載并解壓Hadoop源文件
export VERSION=2.7.2 wget http://archive.apache.org/dist/hadoop/core/hadoop-$VERSION/hadoop-$VERSION-src.tar.gz tar -xzvf hadoop-$VERSION-src.tar.gz
3. 運(yùn)行Docker容器,在容器中編譯Hadoop
sudo docker run -v $(pwd)/hadoop-$VERSION-src:/hadoop-$VERSION-src kiwenlau/compile-hadoop /root/compile.sh $VERSION
這一步比較耗時(shí),大概需要15~30分鐘。
正確執(zhí)行的結(jié)果如下:
[INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 23:46.056s [INFO] Finished at: Tue May 31 16:40:53 UTC 2016 [INFO] Final Memory: 210M/915M [INFO] ------------------------------------------------------------------------ comile hadoop 2.7.2 success!
編譯好的二進(jìn)制文件包位于
hadoop-2.7.2-src/hadoop-dist/target/hadoop-2.7.2.tar.gz
編譯其他版本的Hadoop的步驟一致,僅需改變VERSION的值。
可以使用wget命令直接下載GitHub上的Hadoop二進(jìn)制包:
wget https://github.com/kiwenlau/compile-hadoop/releases/download/$VERSION/hadoop-VERSION.tar.gz二. 方法總結(jié)
編譯其他軟件時(shí),也可以參考本文介紹的方法,具體細(xì)節(jié)可以參考源碼kiwenlau/compile-hadoop
1. 構(gòu)建編譯所需的Docker鏡像
編譯軟件往往需要安裝很多依賴,而編譯不同的軟件有時(shí)需要不同版本的依賴,如果直接在主機(jī)上安裝這些依賴會(huì)污染主機(jī),而且也不易重復(fù)。
2. 下載軟件源碼
源碼不放在Docker鏡像里面,可以方便編譯不同版本的軟件,也可以提高構(gòu)建Docker鏡像的效率。
3. 運(yùn)行Docker容器編譯軟件
軟件源碼以數(shù)據(jù)卷(volume)的形式掛載的容器內(nèi),編譯所得的可執(zhí)行文件也將位于數(shù)據(jù)卷內(nèi)。
版權(quán)聲明
轉(zhuǎn)載時(shí)請(qǐng)注明作者KiwenLau以及本文地址:
http://kiwenlau.com/2016/06/05/160605-compile-hadoop-docker/
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/26620.html
摘要:總之,項(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ī)器用的,想在位機(jī)器上用只能用編譯的。解壓配置環(huán)境變量在和中添加環(huán)境變量添加環(huán)境變量修改修改修改文件修改在文件中添加鏡像啟動(dòng)集群進(jìn)入到每個(gè)節(jié)點(diǎn)執(zhí)行每個(gè)節(jié)點(diǎn)配置查看地址配置啟動(dòng)查看參考 docker安裝 安裝 yum install -y epel-releas yum install docker-io 加入開機(jī)啟動(dòng) chkconfig docker on...
摘要:和,容器中的這三個(gè)文件不存在于鏡像,而是存在于,在啟動(dòng)容器的時(shí)候,通過的形式將這些文件掛載到容器內(nèi)部。 基于docker1.7.03.1單機(jī)上部署hadoop2.7.3分布式集群 [TOC] 聲明 文章均為本人技術(shù)筆記,轉(zhuǎn)載請(qǐng)注明出處:[1] https://segmentfault.com/u/yzwall[2] blog.csdn.net/j_dark/ 0 docker版本與ha...
閱讀 2706·2023-04-26 02:02
閱讀 2571·2023-04-25 20:38
閱讀 4098·2021-09-26 09:47
閱讀 3092·2021-09-10 10:50
閱讀 3765·2021-09-07 09:58
閱讀 3326·2019-08-30 15:54
閱讀 2694·2019-08-30 15:54
閱讀 1918·2019-08-29 17:03