摘要:摘要將編譯所需要的依賴軟件安裝到鏡像中,然后在容器中編譯,可以提高編譯效率,同時避免污染主機。這篇博客將介紹基于編譯的方法。運行容器編譯軟件軟件源碼以數(shù)據(jù)卷的形式掛載的容器內,編譯所得的可執(zhí)行文件也將位于數(shù)據(jù)卷內。
摘要: 將編譯Hadoop所需要的依賴軟件安裝到Docker鏡像中,然后在Docker容器中編譯Hadoop,可以提高編譯效率,同時避免污染主機。編譯其他軟件時,也可以參考這篇博客的方法。
GitHub地址:
kiwenlau/compile-hadoop
在前一篇博客中,我介紹了64位Ubuntu中編譯Hadoop的步驟。這篇博客將介紹基于Docker編譯Hadoop的方法。
一. 編譯步驟1. 下載Docker鏡像
sudo docker pull kiwenlau/compile-hadoop
或者自行構建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. 運行Docker容器,在容器中編譯Hadoop
sudo docker run -v $(pwd)/hadoop-$VERSION-src:/hadoop-$VERSION-src kiwenlau/compile-hadoop /root/compile.sh $VERSION
這一步比較耗時,大概需要15~30分鐘。
正確執(zhí)行的結果如下:
[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!
編譯好的二進制文件包位于
hadoop-2.7.2-src/hadoop-dist/target/hadoop-2.7.2.tar.gz
編譯其他版本的Hadoop的步驟一致,僅需改變VERSION的值。
可以使用wget命令直接下載GitHub上的Hadoop二進制包:
wget https://github.com/kiwenlau/compile-hadoop/releases/download/$VERSION/hadoop-VERSION.tar.gz二. 方法總結
編譯其他軟件時,也可以參考本文介紹的方法,具體細節(jié)可以參考源碼kiwenlau/compile-hadoop
1. 構建編譯所需的Docker鏡像
編譯軟件往往需要安裝很多依賴,而編譯不同的軟件有時需要不同版本的依賴,如果直接在主機上安裝這些依賴會污染主機,而且也不易重復。
2. 下載軟件源碼
源碼不放在Docker鏡像里面,可以方便編譯不同版本的軟件,也可以提高構建Docker鏡像的效率。
3. 運行Docker容器編譯軟件
軟件源碼以數(shù)據(jù)卷(volume)的形式掛載的容器內,編譯所得的可執(zhí)行文件也將位于數(shù)據(jù)卷內。
版權聲明
轉載時請注明作者KiwenLau以及本文地址:
http://kiwenlau.com/2016/06/05/160605-compile-hadoop-docker/
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/26620.html
摘要:總之,項目還算很受歡迎吧,這篇博客將介紹項目的升級版。一項目介紹將打包到鏡像中,就可以快速地在單個機器上搭建集群,這樣可以方便新手測試和學習。之前的版本使用為集群提供服務,由于網(wǎng)絡功能更新,現(xiàn)在并不需要了。運行參考第二部分啟動,并運行。 摘要: kiwenlau/hadoop-cluster-docker是去年參加Docker巨好玩比賽開發(fā)的,得了二等獎并贏了一塊蘋果手表,目前這個項目...
摘要:是源碼,要編譯才能用。的是給位機器用的,想在位機器上用只能用編譯的。解壓配置環(huán)境變量在和中添加環(huán)境變量添加環(huán)境變量修改修改修改文件修改在文件中添加鏡像啟動集群進入到每個節(jié)點執(zhí)行每個節(jié)點配置查看地址配置啟動查看參考 docker安裝 安裝 yum install -y epel-releas yum install docker-io 加入開機啟動 chkconfig docker on...
摘要:和,容器中的這三個文件不存在于鏡像,而是存在于,在啟動容器的時候,通過的形式將這些文件掛載到容器內部。 基于docker1.7.03.1單機上部署hadoop2.7.3分布式集群 [TOC] 聲明 文章均為本人技術筆記,轉載請注明出處:[1] https://segmentfault.com/u/yzwall[2] blog.csdn.net/j_dark/ 0 docker版本與ha...
閱讀 2722·2023-04-26 02:02
閱讀 2595·2023-04-25 20:38
閱讀 4128·2021-09-26 09:47
閱讀 3117·2021-09-10 10:50
閱讀 3777·2021-09-07 09:58
閱讀 3339·2019-08-30 15:54
閱讀 2705·2019-08-30 15:54
閱讀 1925·2019-08-29 17:03