hadoop集羣搭建--hadoop-2.8.5編譯

編譯基本過程

軟件版本

  1. jdk:jdk-8u221-linux-x64.tar.gz
  2. maven:apache-maven-3.6.1-bin.tar.gz
  3. ant:apache-ant-1.9.14-bin.tar.gz
  4. protobuf-2.5.0.tar.gz(這個不要用太高,也不要太低,低版本沒測試過,高版本3.9.1在編譯的過程中報錯了,提示的信息是版本不兼容,期望是2.5.0版本的protobuf)
  5. hadoop:hadoop-2.8.5-src.tar.gz
    點擊下載以上五個軟件包

安裝軟件包:

注意:
  軟件包目錄:~/software;
  安裝目錄:~/apps

jdk安裝:

命令:tar -zxvf jdk-8u221-linux-x64.tar.gz -C ~/apps/
環境變量配置:sudo vi /etc/profile

#jdk
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_221
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile
java -version
在這裏插入圖片描述
JDK配置成功!

maven安裝:

命令:tar -zxvf apache-maven-3.6.1-bin.tar.gz -C ~/apps/
修改文件夾名:mv apache-maven-3.6.1/ maven-3.6.1
(這個修改文件夾名稱並不是必須的,只是鄙人覺得以後會安裝很多Apache軟件,都是以Apache開頭,在找某個軟件的時候,可能不能一步到位找到對應軟件,所以才該名稱的)
環境變量配置:sudo vi /etc/profile

#maven
export MAVEN_HOME=/home/hadoop/apps/maven-3.6.1
export PATH=$PATH:$MAVEN_HOME/bin

配置鏡像:阿里雲
先備份文件:cp settings.xml settings_bak.xml (這是個習慣,修改配置之前,最好都備份一下)
編輯:vi setting.xml。
在mirrors 裏面配置:

  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
     
    <mirror>
      <id>nexus-aliyun</id>
      <name>aliyun nexus</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>            
    </mirror>
  
  </mirrors>

source /etc/profile
mvn -v
出現下面內容,表示安裝成功。
在這裏插入圖片描述

ant安裝:

解壓命令:tar -zxvf apache-ant-1.9.14-bin.tar.gz -C ~/apps/
修改文件夾名稱:mv mv apache-ant-1.9.14/ ant-1.9.14
配置環境變量:

#ant
export ANT_HOME=/home/hadoop/apps/ant-1.9.14
export PATH=$PATH:$ANT_HOME/bin

source /etc/profile
ant -version
看到下面的結果,說明安裝成功了
在這裏插入圖片描述

安裝protobuf:

在安裝protobuf之前,先安裝幾個軟件包:glibc-headers、gcc-c++、make、cmake、 openssl-devel、ncurses-devel。
按照上面包的順序依次執行命令:

sudo yum install -y glibc-headers
sudo yum install -y gcc-c++
sudo yum install -y make
sudo yum install -y cmake
sudo yum install -y openssl-devel
sudo yum install -y ncurses-devel

然後,解壓protobuf,命令:tar -zxvf protobuf-2.5.0.tar.gz -C ~/apps/
進入protobuf的主目錄下:cd protobuf-2.5.0/
在這裏插入圖片描述
在主目錄下,依次執行下面的命令:

[hadoop@min1 protobuf-2.5.0]$ ./configure 
[hadoop@min1 protobuf-2.5.0]$ sudo make
[hadoop@min1 protobuf-2.5.0]$ sudo make check
[hadoop@min1 protobuf-2.5.0]$ sudo make install

安裝完成,驗證protobuf是否安裝成功,執行命令:protoc --version,如果出現下面信息,標誌安裝成功:

[hadoop@min1 protobuf-2.5.0]$ protoc --version
libprotoc 2.5.0

解壓hadoop源碼文件:

命令:

[hadoop@min1 software]$ tar -zxvf hadoop-2.8.5-src.tar.gz -C ~/apps/

進入hadoop安裝主目錄:

[hadoop@min1 software]$ cd ~/apps/hadoop-2.8.5-src/
[hadoop@min1 hadoop-2.8.5-src]$ pwd
/home/hadoop/apps/hadoop-2.8.5-src
[hadoop@min1 hadoop-2.8.5-src]$ 

編譯打包hadoop

用maven命令編譯打包:
注意:建議直接在VMware的虛擬機上進行打包,我用過兩個使用secureCRT連接工具打包,因爲我配置好網絡之後,就在這個連接工具上進行操作,它相比在VMware上直接操作要更方便點,只要可以複製粘貼,字體也可以調大,所以當我在secureCRT上執行這個打包命令的時候,奇慢無比,後來我就中斷了,然後換在虛擬機上直接運行打包命令,感覺這個要在工具上打包要快一些,搞不懂是爲什麼。有知道的小夥伴可以評論區分享一下,感謝了!

[hadoop@min1 hadoop-2.8.5-src]$ mvn package -Pdist,native -DskipTests -Dtar

這個過程好久,不知道是它本來就那麼久還是我的操作上哪裏有問題,希望知道的老鐵們,能在評論區和我分享一下。
我看打印的日誌,只要慢在連接https的地址,除了這個https的地址,其他都挺快的,打包的過程中,很多事卡在獲取https鏈接的資源上。我本機打開Apache的https鏈接也超級慢,幾乎是打不開。但是,當我吧https刪除之後,就很快連上了。真不知道是我網絡的問題,還是Apache官網的問題。要是有知道這是什麼原因或者有什麼辦法解決的兄dei,希望您在評論區多多分享一下,感謝了!
最後成功如下:
在這裏插入圖片描述
成功的 64 位 hadoop 包在~/apps/hadoop-2.8.5-src/hadoop-dist/target 下,如圖:
在這裏插入圖片描述
最後分享下心路歷程:真的太難了,這個過長太漫長了,昨晚弄了一個晚上,最後報protobuf的版本不兼容,之前安裝protobuf-2.5.0的時候報錯,沒安裝成功,我那時以爲是protobuf的版低了,就想換個高的,不是高版本通常都是能向下兼容嘛,所以就下了個3.9.1版本,最後一晚下來,最終報錯了,報錯還提示要我選擇2.5.0版本,我…真的太難了!
打包的時候一直有個進度顯示【?/70】,感覺進度在一半以前都炒雞慢,有的卡住半天沒點動靜,我都懷疑今晚可能又成不了。就在我準備安裝官方的編譯包的時候,我又看了下VMware的打包情況,發現速度變好快了,進度已經進行到後半程了,按照當前速度,很快就能知道最終的編譯結果了。那個激動啊!最後,真的成功了,這兩天的辛苦得到回報了!突然間想起一句話:守得雲開見月明…
這首詩的原文是這樣的,放在最後,即告慰自己,又勉勵自己繼續加油。

莫語常言道知足,萬事至終總是空。

理想現實一線隔,心無旁騖腳踏實。

誰無暴風勁雨時,守得雲開見月明。

花開復見卻飄零,殘憾莫使今生留。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章