検索

hadoop2.4.0源码编译

Jun 07, 2016 pm 03:12 PM
序文ソースコードコンパイル

1.前言 Hadoop-2.4.0 的源码目录下有个 BUILDING.txt 文件,它介绍了如何在 Linux 和 Windows 下编译源代码,本文基本是遵照 BUILDING.txt 指示来操作的,这里再做一下简单的提炼。 第一次编译要求能够访问互联网, Hadoop 的编译依赖非常多的东西,一定要保

1. 前言

Hadoop-2.4.0的源码目录下有个BUILDING.txt文件,它介绍了如何在LinuxWindows下编译源代码,本文基本是遵照BUILDING.txt指示来操作的,这里再做一下简单的提炼。

第一次编译要求能够访问互联网,Hadoop的编译依赖非常多的东西,一定要保证机器可访问互联网,否则难逐一解决所有的编译问题,但第一次之后的编译则不用再下载了。

2. 安装依赖

在编译Hadoop 2.4.0源码之前,需要将下列几个依赖的东西安装好:

1) JDK 1.6或更新版本(本文使用JDK1.7请不要安装JDK1.8版本,JDK1.8Hadoop 2.4.0不匹配,编译Hadoop 2.4.0源码时会报很多错误

2) Maven 3.0或更新版本

3) ProtocolBuffer 2.5.0

4) CMake 2.6或更新版本

5) Findbugs 1.3.9,可选的(本文编译时未安装)

 

在安装好之后,还需要设置一下环境变量,可以修改/etc/profile,也可以是修改~/.profile,增加如下内容:

export JAVA_HOME=/root/jdk

export CLASSPATH=$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

 

export CMAKE_HOME=/root/cmake

export PATH=$CMAKE_HOME/bin:$PATH

 

export PROTOC_HOME=/root/protobuf

export PATH=$PROTOC_HOME/bin:$PATH

 

export MAVEN_HOME=/root/maven

export PATH=$MAVEN_HOME/bin:$PATH

 

本文以root用户在/root目录下进行安装,但实际可以选择非root用户及非/root目录进行安装。

 

2.1. 安装ProtocolBuffer

标准的automake编译安装方式:

1) cd /root

2) tar xzf protobuf-2.5.0.tar.gz

3) cd protobuf-2.5.0

4) ./conigure --prefix=/root/protobuf

5) make

6) make install

2.2. 安装CMake

1) cd /root

2) tar xzf cmake-2.8.12.2.tar.gz

3) cd cmake-2.8.12.2

4) ./bootstrap --prefix=/root/cmake

5) make

6) make install

2.3. 安装JDK

1) cd /root

2) tar xzf jdk-7u55-linux-x64.gz

3) cd jdk1.7.0_55

4) ln -s jdk1.7.0_55 jdk

2.4. 安装Maven

1) cd /root

2) tar xzf apache-maven-3.0.5-bin.tar.gz

3) ln -s apache-maven-3.0.5 maven

3. 编译Hadoop源代码

完成上述准备工作后,即可通过执行命令:mvn package -Pdist -DskipTests -Dtar,启动对Hadoop源代码的编译。请注意一定不要使用JDK1.8

 

如果需要编译成本地库(Native Libraries)文件,则使用命令:mvn package -Pdist,native -DskipTests -Dtar。如果C/C++程序需要访问HDFS等,需要使用navite方式编译生成相应的库文件。也可以使用mvn package -Pnative -DskipTests -Dtar特意编译出本地库文件。

相关的编译命令还有:

1) mvn package -Pdist -DskipTests -Dtar

2) mvn package -Pdist,native,docs,src -DskipTests -Dtar

3) mvn package -Psrc -DskipTests

4) mvn package -Pdist,native,docs -DskipTests -Dtar

5) mvn clean site; mvn site:stage -DstagingDirectory=/tmp/hadoop-site

 

编译成功后,jar文件会放在target子目录下,可以在Hadoop源码目录下借用find命令搜索各个target子目录。

编译成功后,会生成Hadoop二进制安装包hadoop-2.4.0.tar.gz,放在源代码的hadoop-dist/target子目录下:

main:

     [exec] $ tar cf hadoop-2.4.0.tar hadoop-2.4.0

     [exec] $ gzip -f hadoop-2.4.0.tar

     [exec] 

     [exec] Hadoop dist tar available at: /root/hadoop-2.4.0-src/hadoop-dist/target/hadoop-2.4.0.tar.gz

     [exec] 

[INFO] Executed tasks

[INFO] 

[INFO] --- maven-javadoc-plugin:2.8.1:jar (module-javadocs) @ hadoop-dist ---

[INFO] Building jar: /root/hadoop-2.4.0-src/hadoop-dist/target/hadoop-dist-2.4.0-javadoc.jar

[INFO] ------------------------------------------------------------------------

[INFO] Reactor Summary:

[INFO] 

[INFO] Apache Hadoop Main ................................ SUCCESS [4.647s]

[INFO] Apache Hadoop Project POM ......................... SUCCESS [5.352s]

[INFO] Apache Hadoop Annotations ......................... SUCCESS [7.239s]

[INFO] Apache Hadoop Assemblies .......................... SUCCESS [0.424s]

[INFO] Apache Hadoop Project Dist POM .................... SUCCESS [2.918s]

[INFO] Apache Hadoop Maven Plugins ....................... SUCCESS [6.261s]

[INFO] Apache Hadoop MiniKDC ............................. SUCCESS [5.321s]

[INFO] Apache Hadoop Auth ................................ SUCCESS [5.953s]

[INFO] Apache Hadoop Auth Examples ....................... SUCCESS [3.783s]

[INFO] Apache Hadoop Common .............................. SUCCESS [1:54.010s]

[INFO] Apache Hadoop NFS ................................. SUCCESS [9.721s]

[INFO] Apache Hadoop Common Project ...................... SUCCESS [0.048s]

[INFO] Apache Hadoop HDFS ................................ SUCCESS [4:15.270s]

[INFO] Apache Hadoop HttpFS .............................. SUCCESS [6:18.553s]

[INFO] Apache Hadoop HDFS BookKeeper Journal ............. SUCCESS [16.237s]

[INFO] Apache Hadoop HDFS-NFS ............................ SUCCESS [6.543s]

[INFO] Apache Hadoop HDFS Project ........................ SUCCESS [0.036s]

[INFO] hadoop-yarn ....................................... SUCCESS [0.051s]

[INFO] hadoop-yarn-api ................................... SUCCESS [1:35.227s]

[INFO] hadoop-yarn-common ................................ SUCCESS [43.216s]

[INFO] hadoop-yarn-server ................................ SUCCESS [0.055s]

[INFO] hadoop-yarn-server-common ......................... SUCCESS [16.476s]

[INFO] hadoop-yarn-server-nodemanager .................... SUCCESS [19.942s]

[INFO] hadoop-yarn-server-web-proxy ...................... SUCCESS [4.926s]

[INFO] hadoop-yarn-server-applicationhistoryservice ...... SUCCESS [9.804s]

[INFO] hadoop-yarn-server-resourcemanager ................ SUCCESS [23.320s]

[INFO] hadoop-yarn-server-tests .......................... SUCCESS [1.208s]

[INFO] hadoop-yarn-client ................................ SUCCESS [9.177s]

[INFO] hadoop-yarn-applications .......................... SUCCESS [0.113s]

[INFO] hadoop-yarn-applications-distributedshell ......... SUCCESS [4.106s]

[INFO] hadoop-yarn-applications-unmanaged-am-launcher .... SUCCESS [3.265s]

[INFO] hadoop-yarn-site .................................. SUCCESS [0.056s]

[INFO] hadoop-yarn-project ............................... SUCCESS [5.552s]

[INFO] hadoop-mapreduce-client ........................... SUCCESS [0.096s]

[INFO] hadoop-mapreduce-client-core ...................... SUCCESS [37.231s]

[INFO] hadoop-mapreduce-client-common .................... SUCCESS [27.135s]

[INFO] hadoop-mapreduce-client-shuffle ................... SUCCESS [4.886s]

[INFO] hadoop-mapreduce-client-app ....................... SUCCESS [17.876s]

[INFO] hadoop-mapreduce-client-hs ........................ SUCCESS [14.140s]

[INFO] hadoop-mapreduce-client-jobclient ................. SUCCESS [11.305s]

[INFO] hadoop-mapreduce-client-hs-plugins ................ SUCCESS [3.083s]

[INFO] Apache Hadoop MapReduce Examples .................. SUCCESS [9.855s]

[INFO] hadoop-mapreduce .................................. SUCCESS [5.110s]

[INFO] Apache Hadoop MapReduce Streaming ................. SUCCESS [7.778s]

[INFO] Apache Hadoop Distributed Copy .................... SUCCESS [12.973s]

[INFO] Apache Hadoop Archives ............................ SUCCESS [3.265s]

[INFO] Apache Hadoop Rumen ............................... SUCCESS [11.060s]

[INFO] Apache Hadoop Gridmix ............................. SUCCESS [7.412s]

[INFO] Apache Hadoop Data Join ........................... SUCCESS [4.221s]

[INFO] Apache Hadoop Extras .............................. SUCCESS [4.771s]

[INFO] Apache Hadoop Pipes ............................... SUCCESS [0.032s]

[INFO] Apache Hadoop OpenStack support ................... SUCCESS [8.030s]

[INFO] Apache Hadoop Client .............................. SUCCESS [7.730s]

[INFO] Apache Hadoop Mini-Cluster ........................ SUCCESS [0.158s]

[INFO] Apache Hadoop Scheduler Load Simulator ............ SUCCESS [7.485s]

[INFO] Apache Hadoop Tools Dist .......................... SUCCESS [6.912s]

[INFO] Apache Hadoop Tools ............................... SUCCESS [0.029s]

[INFO] Apache Hadoop Distribution ........................ SUCCESS [40.425s]

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 21:57.892s

[INFO] Finished at: Mon Apr 21 14:33:22 CST 2014

[INFO] Final Memory: 88M/243M

[INFO] ------------------------------------------------------------------------
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
MySQLでビューを使用することの限界は何ですか?MySQLでビューを使用することの限界は何ですか?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations:1)supportallsqloperations、制限、dataManipulationswithjoinsorubqueries.2)それらは、特にパフォーマンス、特にパルフェクソルラージャターセット

MySQLデータベースのセキュリティ:ユーザーの追加と特権の付与MySQLデータベースのセキュリティ:ユーザーの追加と特権の付与May 14, 2025 am 12:09 AM

reperusermanmanagementInmysqliscialforenhancingsecurationsinginuring databaseaperation.1)usecreateusertoaddusers、指定connectionsourcewith@'localhost'or@'% '。

MySQLで使用できるトリガーの数にどのような要因がありますか?MySQLで使用できるトリガーの数にどのような要因がありますか?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers、しかしpracticalfactorsdeTerminetheireffectiveuse:1)serverconufigurationStriggermanagement; 2)complentiggersincreaseSystemload;

mysql:Blobを保管しても安全ですか?mysql:Blobを保管しても安全ですか?May 14, 2025 am 12:07 AM

はい、それはssafetostoreblobdatainmysql、butonsiderheSeCactors:1)Storagespace:blobscanconsumesificantspace.2)パフォーマンス:パフォーマンス:大規模なドゥエットブロブスメイズ階下3)backupandrecized recized recized recize

MySQL:PHP Webインターフェイスを介してユーザーを追加しますMySQL:PHP Webインターフェイスを介してユーザーを追加しますMay 14, 2025 am 12:04 AM

PHP Webインターフェイスを介してMySQLユーザーを追加すると、MySQLI拡張機能を使用できます。手順は次のとおりです。1。MySQLデータベースに接続し、MySQLI拡張機能を使用します。 2。ユーザーを作成し、CreateUserステートメントを使用し、パスワード()関数を使用してパスワードを暗号化します。 3. SQLインジェクションを防ぎ、MySQLI_REAL_ESCAPE_STRING()関数を使用してユーザー入力を処理します。 4.新しいユーザーに権限を割り当て、助成金ステートメントを使用します。

MySQL:BLOBおよびその他のNO-SQLストレージ、違いは何ですか?MySQL:BLOBおよびその他のNO-SQLストレージ、違いは何ですか?May 13, 2025 am 12:14 AM

mysql'sblobissuitable forstoringbinarydatawithinarationaldatabase、whileenosqloptionslikemongodb、redis、andcassandraofferferulesions forunstructureddata.blobissimplerbutcanslowdowdowd withwithdata

MySQLユーザーの追加:構文、オプション、セキュリティのベストプラクティスMySQLユーザーの追加:構文、オプション、セキュリティのベストプラクティスMay 13, 2025 am 12:12 AM

toaddauserinmysql、使用:createuser'username '@' host'identifidedby'password '; here'showtodoitsely:1)chosehostcarefilytoconを選択しますTrolaccess.2)setResourcelimitslikemax_queries_per_hour.3)usestrong、uniquasswords.4)endforcessl/tlsconnectionswith

MySQL:文字列データ型の一般的な間違いを回避する方法MySQL:文字列データ型の一般的な間違いを回避する方法May 13, 2025 am 12:09 AM

toavoidcommonMonmistakeswithStringDatatypesinmysql、undultingStringTypenuste、choosetherightType、andManageEncodingandCollat​​ionsEttingtingive.1)U​​secharforfixed-LengthStrings、Varcharforaible Length、AndText/Blobforlardata.2)setCurrectCherts

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)