1. 程式人生 > >入門-Hadoop編譯原始碼

入門-Hadoop編譯原始碼

1、前期準備工作

1.1、虛擬機器centos7

配置 CentOS 能連線外網。Linux 虛擬機器 ping www.baidu.com 是暢通的 注意:採用 root 角色編譯,減少資料夾許可權出現問題。

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

2、jar 包安裝

注意:所有操作必須在 root 使用者下完成。

2.1、JDK 解壓、配置環境變數

tar -zxf jdk-7u79-linux-x64.gz -C /opt/module/

編輯vi /etc/profile 新增如下內容:

export JAVA_HOME=/opt/module/jdk1.7.0_79

export PATH=$PATH:$JAVA_HOME/bin

配置生效:source /etc/profile

驗證命令:java -version

2.2、Maven 解壓、配置

tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/

編輯vi /etc/profile 新增如下內容:

#MAVEN_HOME

export MAVEN_HOME=/opt/module/apache-maven-3.0.5

export PATH=$PATH:$MAVEN_HOME/bin

配置生效:source /etc/profile

驗證命令:mvn -version

2.3、ant 解壓、配置

tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/

編輯vi /etc/profile 新增如下內容:

#ANT_HOME

export ANT_HOME=/opt/module/apache-ant-1.9.9

export PATH=$PATH:$ANT_HOME/bin

配置生效:source /etc/profile

驗證命令:ant -version

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

yum install glibc-headers

yum install gcc-c++

2.5、安裝 make 和 cmake

yum install make

yum install cmake

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

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

cd /opt/module/protobuf-2.5.0/

./configure

make

make check

make install

ldconfig

編輯vi /etc/profile 新增如下內容:

#LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0

export PATH=$PATH:$LD_LIBRARY_PATH

配置生效:source /etc/profile

驗證命令:protoc --version

2.7、安裝 openssl 庫

yum install openssl-devel

2.8、安裝 ncurses-devel 庫

yum install ncurses-devel

3、編譯原始碼

31.、解壓原始碼到/opt/ 目錄

3.2、進入到 hadoop 原始碼主目錄

3.3、通過 maven 執行編譯命令

等待時間 30 分鐘左右,最終成功是全部 SUCCESS。

3.4、成功的 64 位 hadoop 包在/opt/hadoop-2.7.2-src/hadoop-dist/target 下

4、常見的問題及解決方案

4.1、編譯期間 maven 報錯。可能網路阻塞問題導致依賴庫下載不完整導致,多次執行命令 (一次通過比較難): [[email protected] hadoop-2.7.2-src]#mvn package -Pdist,native -DskipTests -Dtar

4.2、MAVEN install 時候JVM記憶體溢位處理方式:在環境配置檔案和maven的執行檔案均可調整 MAVEN_OPT 的 heap 大小。

在構建大的專案時,需要大記憶體的支援,此時Maven可能會常常報記憶體溢位(OutOfMemory)的異常!解決的方法就是調整Java堆的大小。

找到檔案%M2_HOME%\bin\mvn.bat,這就是啟動Maven的指令碼檔案,找到該檔案中以下程式碼所在的行:

@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE...

它的意思是你可以設定一些Maven引數,我們就在該行下面加入以下行:

set MAVEN_OPTS= -Xms256m -Xmx512m

相關推薦

入門-Hadoop編譯原始碼

1、前期準備工作 1.1、虛擬機器centos7 配置 CentOS 能連線外網。Linux 虛擬機器 ping www.baidu.com 是暢通的 注意:採用 root 角色編譯,減少資料夾許可權出現問題。 1.2、jar 包準備(hadoop 原始碼、JDK7 、

hadoop編譯原始碼報錯:package-info.java: 未結束的字串字面值

compile-core-classes:        [javac] Compiling 386 source files to F:\hadoop\common\trunk\build\classes        [javac] F:\hadoop\common\trunk\build\src\org

Spark入門實戰系列--2.Spark編譯與部署(中)--Hadoop編譯安裝

二進制包 1.10 不能 mapr 修復 att 機器 mave end 【註】該系列文章以及使用到安裝包/測試數據 能夠在《[傾情大奉送–Spark入門實戰系列] (http://blog.csdn.net/yirenboy/article/deta

Hadoop快速入門 -- (Hadoop叢集的配置及啟動 含編譯軟體)

hadoop: hdfs叢集:負責檔案讀寫 yarn叢集:負責為mapreduce程式分配運算硬體資源 name node 本身的地位是很重要的,它記錄了使用者上傳的檔案分別在哪些dat node 上,記錄了這些檔案的元資訊.所以它叫名稱節點,記錄了檔案的名稱和

Android入門編譯錯誤匯總

art can 手動 already 提示 文件夾 som 原因 兩個 1 描寫敘述: 項目常常須要引用別人的libraryproject,在選項中add進來後,點擊應用或者確定。關閉頁面。 回到代碼中卻發現無法鏈接,又一次打開properties查看,發現導入的p

hadoop編譯

user tsp ive star nts pts java 5.4 test ----------------------------------------------------------------------------------Requirements: *

Hadoop編譯源碼

特殊情況 最終 hadoop 時間 sof ldconfig 網絡阻塞 c++ 均可 Hadoop編譯源碼 克隆一個虛擬機 然後一步一步安裝就行 安裝所需:鏈接: https://pan.baidu.com/s/1jIZlQmi 密碼: gggv 5.1 前期準備工作 1)

java執行緒池詳細入門教程即原始碼解析

##1、執行緒池概念      執行緒池是執行緒的集合,通過執行緒池我們不需要自己建立執行緒,將任務提交給執行緒池即可。為什麼要使用執行緒池,首先,使用執行緒池可以重複利用已有的執行緒繼續執行任務,避免執行緒在建立和銷燬時造成的消耗。其次,由

012-Ambari二次開發之元件Zookeeper,Kafka,Hadoop編譯

Zookeeper是大資料生態圈元件之間協調的基礎元件。本篇我們開始編譯基於HDP3.0版本棧的Zookeeper。 關注微信公眾號,獲取更多內容 Zookeeper編譯 安裝ant,Zookeeper依賴於ANT編譯,所以需要安裝ant yum install ant

vue入門編譯專案

         好記性不如爛筆頭,最近又開始學習vue了,編譯的過程中遇到幾個小坑,特此一記。          首先說一下vue專案如何編譯,其實很簡單,cd到專案資料夾,然後執行命令: npm run bulid          不過npm

vue入門編譯項目

技術分享 cnblogs 鏡像 訪問 過程 分享圖片 14. alt 成了          好記性不如爛筆頭,最近又開始學習vue了,編譯的過程中遇到幾個小坑,特此一記。     首先說一下vue項目如何編譯,其實很簡單,cd到項目文件夾,然後執行命令:

兄弟連區塊鏈入門教程eth原始碼分析RPC分析

這是一個互動式的 JavaScript 執行環境,在這裡面可以執行 JavaScript 程式碼,其中 > 是命令提示符。在這個環境裡也內建了一些用來操作eth的 JavaScript 物件,可以直接使用這些物件。這些物件主要包括: eth:包含一些跟操作區塊鏈相關的方法;net:包含一些檢視p2p網

兄弟連區塊鏈入門教程eth原始碼分析p2p-udp.go原始碼分析(二)

ping方法與pending的處理,之前談到了pending是等待一個reply。 這裡通過程式碼來分析是如何實現等待reply的。pending方法把pending結構體傳送給addpending. 然後等待訊息的處理和接收。 // ping sends a ping message to the giv

產品打包工具的製作,ant 編譯原始碼,打jar包,打tag,打war包,備份release版本等

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

手動編譯原始碼,打造自己的增量更新。

BsDiffYwl5320 專案地址:wanliyang1990/BsDiffYwl5320  簡介:手動編譯原始碼,打造自己的增量更新。 更多:作者   提 Bug    標籤: 增量更新-Android-

hue快速入門--Hadoop視覺化分析利器

1. 需求引入 在大資料生態圈中有很多的技術,每一個技術的使用和管理都有自己的規範,例如hdfs操作有相關的外掛,mr任務的監控有相關的頁面,hbase的操作也有相對應的頁面,那麼這些零零散散的管理頁面能否統一到一個軟體中進行管理呢? 2. hue的簡介 2.1. hue概述 Hue是一個

android 實現 JNI NDK 入門例子教程+原始碼

一、背景 寫一個NDK入門教程,方便以後自己忘記了可以再來 二、開發工具以及開發環境 1、android studio 2、JDK 8 3、LLDB 4、NDK-Build 支援技術分享,轉載或複製,請指出文章來源 此部落格作者為Jack__0023 三、開始 (一共9個介紹和操作,文字大多是解釋,你也可以直

Hadoop Yarn原始碼閱讀系列(二)Yarn原始碼目錄組織結構

Hadoop Yarn分為5部分:API、Common、Applications、Client和Server,他們的內容具體如下: YARN API(hadoop-yarn-api目錄):給出了YARN記憶體涉及的4個主要RPC協議的Java宣告和Protocol Buffers定義,這4個RP

Hadoop Yarn原始碼閱讀系列(一)Yarn架構

Yarn的基本思想是將JobTracker的兩大主要職能:資源管理、作業排程/監控拆分為兩個獨立的程序:一個全域性的ResourceManager和與每個應用對應的ApplicationMaster(AM)。ResourceManager和每個節點的NodeManager(NM)組成了全新的通用作業

Hessian入門案例和原始碼淺析

一、簡介 二、使用 Server  Client 三、原理 服務端原始碼淺析 1. HessianServlet的init方法,建立介面的類物件和介面的實現類物件,並初始化HessianSkeleton物件。 2. service方法內則是呼叫Hessian