hadoop-2.6.0源碼編譯

来源:http://www.cnblogs.com/tijun/archive/2017/09/18/7542751.html
-Advertisement-
Play Games

本篇文章是介紹的hadoop2.6.0的源碼編譯過程,經過實踐驗證是可以編譯成功的。 ...


運行hadoop環境時,常常會出現這種提示

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
意思是無法載入本地native庫。

這裡就需要我們自己本地進行編譯hadoop源碼,用生成的文件來替換原有的native庫。

 下麵就是我整理的hadoop編譯流程

首先介紹一下我的環境

centos6.5

jdk-7u79-linux-x64.tar.gz

apache-maven-3.3.9-bin.tar.gz

protobuf-2.5.0.tar.gz

hadoop-2.6.0-cdh5.12.0-src.tar.gz

接下來就進行步驟介紹

提君博客原創

第一步,安裝jdk

解壓

1 tar -zxvf jdk-7u79-linux-x64.tar.gz

環境變數

1 vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/home/hadoop/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 

 

測試是否安裝成功

source /etc/profile
java -version

 

第二步,安裝maven

>>提君博客原創  http://www.cnblogs.com/tijun/  <<

解壓

tar -zxvf apache-maven-3.3.9-bin.tar.gz

更改名稱

mv apache-maven-3.3.9 maven339

環境變數

vi /etc/profile
#MAVEN_HOME
export MAVEN_HOME=/home/hadoop/maven339
export PATH=$MAVEN_HOME/bin:$PATH

測試是否安裝成功

source /etc/profile
mvn -version

第三步,根據多次踩坑,準備編譯時需要的安裝

 

1 yum install gcc  
2 yum intall gcc-c++  
3 yum install make

或者是直接運行

yum install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

第四步安裝protoc

解壓編譯,逐步執行

1 tar -zxvf protobuf-2.5.0.tar.gz
2 cd protobuf-2.5.0
3 ./configure --prefix=/home/hadoop/protobuf250
4 make
5 make install

環境變數

vi /etc/profile
#PROTOC_HOME
export PROTOC_HOME=/home/hadoop/protobuf250
export PATH=$PROTOC_HOME/bin:$PATH

測試

source /etc/profile
protoc --version

第四步,編譯hadoop

1 tar -zxvf hadoop-2.6.0-cdh5.12.0-src.tar.gz
2 mv hadoop-2.6.0-cdh5.12.0  hadoop260-src
3 cd hadoop-2.6.0-src
4 mvn clean package -Dmaven.javadoc.skip=true -Pdist,native -DskipTests -Dtar

經過一段時間的等待,出現 build success ,說明編譯成功。

提君博客原創

>>提君博客原創  http://www.cnblogs.com/tijun/  <<

編譯源碼生成的部分都在hadoop260-src/hadoop-dist/target/目錄下

將編譯後的native文件夾下的東西替換到原來的native目錄

1 cp -r hadoop260-src/hadoop-dist/target/hadoop-2.6.0-cdh5.12.0/lib/native/ /home/hadoop/hadoop260/lib/

同樣,其他機器的文件同樣替換

1 scp -r hadoop260-src/hadoop-dist/target/hadoop-2.6.0-cdh5.12.0/lib/native/ [email protected]:/home/hadoop/hadoop260/lib/
2 ..
3 ..
4 ..

 

提君博客原創

註意:不同的linux環境,編譯過程中會有不同,有可能會出一些編譯過程的錯誤,我將再接下來的一篇文章中整理出來,供大家參考。

>>提君博客原創  http://www.cnblogs.com/tijun/  <<

 

 





您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這是Hadoop學習全程記錄第1篇,在這篇里我將介紹一下如何在Linux下安裝Hadoop1.x。 先說明一下我的開發環境: 虛擬機:VMware8.0; 操作系統:CentOS6.4; 版本:jdk1.8;hadoop1.2.1 ①下載hadoop1.2.1,網盤:鏈接:http://pan.ba ...
  • 不可見索引概念 不可見索引(Invisible Index)是ORACLE 11g引入的新特性。不可見索引是會被優化器忽略的不可見索引,除非在會話或系統級別上將OPTIMIZER_USE_INVISIBLE_INDEXES初始化參數顯式設置為TRUE。此參數的預設值是FALSE。如果是虛擬索引是為了... ...
  • 一對一:比如一個學生對應一個身份證號、學生檔案; 一對多:一個班可以有很多學生,但是一個學生只能在一個班; 多對多:一個班可以有很多學生,學生也可以有很多課程; 一對多關係處理: 我們以學生和班級之間的關係來說明一對多的關係處理方法。假設現有基本表班級表(班級號,備註信息,……)。學生表(學號,姓名 ...
  • 第一次寫博客,看了很久博客但是寫還是第一次,總是提筆不知怎樣去寫,導致現在才開始提筆,寫下曾經的學習過程及心得筆記,如果哪裡有誤 望各位大神不吝指出! 基本的select語句 -語法:select *|{[DISTINCT] column|expression [alias],...} from t ...
  • 通過hadoop安裝包自帶的資源,進行hadoop集群搭建的驗證,並簡單介紹一下hdfs的一些操作 ...
  • 公司服務用的mysql,最近在查詢時時間很慢,經常會上10多秒,查看了一下查詢的執行計劃,發現索引沒有生效。 存儲引擎使用InnoDB。 一開始在主庫查詢,一直很好奇為什麼索引不生效,切換到備庫之後,發現備庫是有效的。 開始考慮是不是因為索引出問題,後對索引重建,發現效率高了不少。 簡單記錄一下對比 ...
  • 又重新安裝Hive,記錄一下吧: hadoop早已經裝上了。 cdh5的hive下載地址: http://archive.cloudera.com/cdh5/cdh/5/ 下載文件:hive-1.1.0-cdh5.10.0.tar.gz 操作系統版本:CentOS CentOS Linux rele ...
  • 之前在使用SQLyog的時候也沒有發現這樣問題,就是在使用NavicatPremium的時候這個問題讓我不能忍受,就是每次執行一條sql語句之後,即使是成功之後,下麵仍然有一條報錯信息,雖然是對總的結果來說沒有什麼影響,但是對於有些強迫症的一些人來說,這樣的報錯還是不能容忍的,我就再網上搜瞭解決方案 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...