1. 程式人生 > >CentOS7下編譯Hadoop-2.7.2詳解

CentOS7下編譯Hadoop-2.7.2詳解

1.工具準備,最靠譜的是hadoop說明文件裡要求具備的那些工具。

hadoop官網,點選source下載hadoop-2.7.2-src.tar.gz。

利用FileZilla上傳壓縮包到/opt/software/目錄下

在該目錄下,解壓到/opt/modules/目錄下:

tar -zxvf hadoop-2.7.2-src.tar.gz -C /opt/modules

得到hadoop-2.7.2-src資料夾。

進入hadoop-2.7.2-src資料夾,檢視BUILDING.txt

cd hadoop-2.7.2-src
more BUILDING.txt

可以看到編譯所需的庫或者工具:

包括:

  • JDK1.7+
  • maven 3.0 or later
  • findbugs 1.3.9
  • protocolBuffer 2.5.0
  • cmake 2.6
  • zlib-devel
  • openssl-devel

除了上面這些,為了不出錯,實際還需要autoconf  automake  gcc等。

下面開始準備這些工具:

首先使用su命令獲取root許可權,以免受到各種限制

2.上傳jdk-8u101-linux-x64.tar.gz壓縮包到/opt/software/目錄下,然後進入到/opt/software/目錄

tar -zxvf dk-8u101-linux-x64.tar.gz -C  /opt/modules/

然後開啟/etc/profile配置jdk環境變數

sudo vi /etc/profile

按 i 進入插入模式,在檔案末尾新增

export JAVA_HOME=/opt/modules/jdk1.8.0_101

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

export PATH=$PATH:$JRE_HOME/bin

先後按Esc, :, wq, 回車即可儲存並退出編輯。輸入 source /etc/profile 回車即可儲存更改。

執行javac -version 檢視狀態:

java -version

3.下面安裝各種庫,

yum -y install svn ncurses-devel gcc*

yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

4.上傳protobuf-2.5.0.tar.gz(注意版本必須是2.5.0)壓縮包到/opt/software/下

 tar -zxvf protobuf-2.5.0.tar.gz -C /opt/moudles/

進入protobuf-2.5.0依次執行

cd protobuf-2.5.0

./configure

make

make install

驗證安裝是否完成

protoc --version

出現

5.安裝maven

下載apache- maven- 3.2.3- bin.tar.gz

解壓縮並配置環境變數

解壓:

tar -zxvf apache-maven-3.3.3-bin.tar.gz -C /opt/modules/

配置環境變數:

sudo vi /etc/profile

在末尾新增:

export MAVEN_HOME=/opt/apache-maven-3.3.3

export MAVEN_OPTS="-Xms256m -Xmx512m"

export PATH=$PATH:$MAVEN_HOME/bin

先按Esc, Shift+:, wq, 回車即可儲存並推出編輯。輸入 source /etc/profile 回車即可儲存更改。

檢視安裝狀態: mvn -version

6.安裝ant

下載apache-ant-1.9.4-bin.tar.gz

解壓縮並配置環境變數

解壓:

tar -zxvf apache-ant-1.9.4-bin.tar.gz -C /opt/modules/

配置環境變數

同上,在/etc/profile檔案末未新增:

export ANT_HOME=/opt/apache-ant-1.9.4

export PATH=$PATH:$ANT_HOME/bin

然後儲存,退出,並使更改生效。

檢視安裝結果:

ant -version

7.安裝findbugs

解壓:

tar -zxvf findbugs-3.0.1.tar.gz -C /opt/moudles/

配置環境變數:

在 /etc/profile 檔案末尾新增:

export FINDBUGS_HOME=/opt/findbugs-3.0.1

export PATH=$PATH:$FINDBUGS_HOME/bin

儲存退出,並使更改生效。

檢視安裝結果

8.準備完成,下面開始編譯hadoop

進入到hadoop-2.7.1-src目錄

使用命令:

mvn clean package –Pdist,native –DskipTests –Dtar

或者:

mvn package -Pdist,native -DskipTests -Dtar

進行編譯。  

務必保持網路暢通,經過漫長的等待(本人的比較慢,花了2小時57分鐘)看到下圖即表明編譯成功!

編譯好的檔案在/hadoop-dist/target/hadoop-2.7.1.tar.gz下。

碰到的問題如下:

(1)如圖所示,因為我是在VMware下的,當時只給了預設20g,完全不夠用


檢視下磁碟使用情況:


解決辦法:

新新增的硬碟的編號為/dev/sdb

1.硬碟分割槽
1)進入fdisk模式
#fdisk /dev/sdb
2)輸入n進行分割槽
CentOS掛載新硬碟
3)選擇分割槽型別
CentOS掛載新硬碟
這裡有兩個選項:
 p: 主分割槽 linux上主分割槽最多能有4個
 e: 擴充套件分割槽 linux上擴充套件分割槽只能有1個,擴充套件分割槽建立後不能直接使用,還要在擴充套件分割槽上建立邏輯分割槽。
這裡我選擇的p。
4)選擇分割槽個數
CentOS掛載新硬碟
可以選擇4個分割槽,這裡我只分成1個分割槽
5)設定柱面,這裡選擇預設值就可以
CentOS掛載新硬碟 6)輸入w,寫入分割槽表,進行分割槽
CentOS掛載新硬碟 2.格式化分割槽

將新分割槽格式化為ext4檔案系統
1)如果建立的是主分割槽
#mkfs -t ext4 /dev/sdb1

3. 掛載硬碟

1) 建立掛載點
在根目錄下建立work目錄
#mkdir /work
2) 將/dev/sdb1掛載到/work下
#mount /dev/sdb1 /work

6. 拷貝/var下的所有內容到新的硬碟 cp -pdr /var /work 7. 設定開機啟動自動掛載
新建立的分割槽不能開機自動掛載,每次重啟機器都要手動掛載。
設定開機自動掛載需要修改/etc/fstab檔案
#vi /etc/fstab
在檔案的最後增加一行
/dev/sdb1 /work ext4 defaults 0 0