Hadoop編譯原始碼(面試重點)

語言: CN / TW / HK

這是我參與更文挑戰的第7天,活動詳情檢視:更文挑戰

圖片

前言

今天簡單跟大家說一下Hadoop原始碼編譯,這個是經常被大家忽略的一個問題。但是當你去找工作時,面試官一般都會問你有沒編譯過原始碼,所以對於原始碼編譯的原理及過程還是有必要知道的。至於為啥要進行原始碼編譯,原因其實很簡單:官方下載的jar預設是32位,而大家現在所使用的電腦基本都是64位,所以需要你將原始碼編譯成64位才能正常執行。

1、Hadoop原始碼編譯過程概述

整個編譯過程,小編將其歸納為3個步驟:(1)前期準備;(2)jar包安裝;(2)編譯原始碼。看起來是不是很簡單,編譯過程中一般問題分為2類:(1)前期虛擬機器搞不定;(2)jar包安裝過程出現問題不會解決,後面小編會給大家說一些應該注意的問題。下面概述一下各個步驟要做的工作(參考尚矽谷大資料課程),概述如下:

配置CentOS能連線外網,可以直接在Linux虛擬機器的terminal終端:ping www.baidu.com ,能ping通就行啦。

注意:採用root角色編譯,減少資料夾許可權出現問題。

1.2 jar包準備(hadoop原始碼、JDK8、maven、ant 、protobuf)

(1)hadoop-2.7.2-src.tar.gz

(2)jdk-8u144-linux-x64.tar.gz

(3)apache-ant-1.9.9-bin.tar.gz(build工具,打包用的)

(4)apache-maven-3.0.5-bin.tar.gz

(5)protobuf-2.5.0.tar.gz(序列化的框架)

圖片

圖片

圖片

圖片

圖片

圖片

圖片

圖片

圖片

圖片2.7.0版本的問題彙總帖子 http://www.tuicool.com/articles/IBn63qf

2 原始碼編譯實操

前面給出的一個過程概述是參考尚矽谷大資料教程的,這一節小編就帶大家一起實操一下吧。

按上一節所說準備,這裡注意的是虛擬機器必須乾淨,只配置了網路,沒有安裝任何jar包。由於我之前就準備啦,我就選擇直接克隆虛擬機器,這個過程之前有講解過,具體參看:大資料之Hadoop執行環境搭建。小編所用的jar包如下:

圖片

圖片

2.1 JDK解壓、配置環境變數 JAVA_HOME和PATH,驗證java-version(如下都需要驗證是否配置成功)

圖片

圖片

圖片

2.2  Maven解壓、配置  MAVEN_HOME和PATH

圖片

圖片

圖片

2.3 ant解壓、配置  ANT _HOME和PATH

圖片

圖片

圖片

yum出現上述問題,請看解決方法:https://my.oschina.net/u/4340589/blog/4817423

2.4  安裝 glibc-headers和  g++  命令如下

2.6 解壓protobuf ,進入到解壓後protobuf主目錄,/opt/module/protobuf-2.5.0,然後相繼執行命令

圖片

圖片

圖片

[[email protected] software]#yum installopenssl-devel

[[email protected] software]#yum installncurses-devel

圖片

圖片

總結

到此為止,Hadoop入門內容已經講解完畢。小編學習到不少,相信一路跟過來的小夥伴也收穫不少。接下來,小編會帶大家一起學習HDFS、MapReduce、Yarn各個Hadoop元件,請持續關注!小編後續將繼續更新大資料等內容,請保持關注。更多精彩內容,請關注公眾號:小韓學長帶你學

1623651408(1).jpg