Hadoop-2.3.0-cdh5.0.0获取源码及编译

来源:互联网 发布:php wamp配置教程 编辑:程序博客网 时间:2024/05/01 19:20

   1、安装Maven

首先下载Maven软件包,下载地址为:http://apache.fayea.com/apache-mirror/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz

下载后解压,设置MAVEN_HOME和PATH变量。设置好后,可以使用mvn -version检查是否安装成功。

解压命令

#

tar -zvxf apache-maven-3.1.1-bin.tar.gz

移至/usr/local

#mvapache-maven-3.1.1 /usr/local/maven

maven装在/usr/local目录下。

#vi /etc/profile

在最后一行加入:

export MAVEN_HOME=/usr/local/ maven

 export PATH=$PATH:$MAVEN_HOME/bin

保存后退出,执行:

source /etc/profile

查看是否安装成功。

#mvn –version

 

2、安装autotool,CMake等依赖包

如果已经安装,可忽略相应的包。

sudo yum install autoconf automake libtool ant gcc gcc-c++  make cmake openssl-devel,ncurses-devel

 

3、安装protobuf2.5

下载地址http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

解压: tar jxvf protobuf-2.5.0.tar.gz

次执行:./configure,   make, makeinstall,这三个命令安装ProtoBuffer

 

 

使用protoc --version检查ProtoBuffer是否安装成功

 

如果出现:

protoc: error while loading sharedlibraries: libprotobuf.so.7: cannot open shared object file: No such file ordirectory错误

 

这是因为系统找不到lib库

编辑/etc/ld.so.conf 文件

#Vim /etc/ld.so.conf

修改如下: include /etc/ld.so.conf.d/*.conf /usr/local/lib

然后ldconfig

再次执行protoc –version

libprotoc 2.4.1

标明protobuf安装成功。

4、先获取源码

 先通过mvn获取源码

   cd hadoop-2.3.0-cdh5.0.1/src/hadoop-maven-plugins

    mvn install 

    完成后,

    cd hadoop-2.3.0-cdh5.0.1/src

    mvn eclipse:eclipse –DskipTests

    获取源码过程中如果出现如下错误:

    Failed to execute goalorg.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on projecthadoop-common:

   解决方法如下:

   使用这个命令:mvn org.apache.maven.plugins:maven-eclipse-plugin:2.6:eclipse –DskipTests

   或者:通过yum安装 zlib1g-dev

  5、编译源码

 然后开始编译源码:

 在src 目录下执行

 mvn clean install –DskipTests

 或者

 mvn package -Pdist,native -DskipTests -Dtar 

 

这个要等待很长时间,如果中间出现停掉,可以重新执行该命令,会继续上次下载编译。

 

由于maven国外服务器可能连不上,先给maven配置一下国内镜像,在maven目录下,conf/settings.xml,<mirrors></mirros>里添加,原本的不要动

 

1.  <mirror>  

2.       <id>nexus-osc</id>  

3.        <mirrorOf>*</mirrorOf>  

4.    <name>Nexusosc</name>  

5.    <url>http://maven.oschina.net/content/groups/public/</url>  

6.  </mirror>  

同样,在<profiles></profiles>内新添加

1.  <profile>  

2.         <id>jdk-1.7</id>  

3.         <activation>  

4.           <jdk>1.4</jdk>  

5.         </activation>  

6.         <repositories>  

7.           <repository>  

8.             <id>nexus</id>  

9.             <name>local private nexus</name>  

10.            <url>http://maven.oschina.net/content/groups/public/</url>  

11.            <releases>  

12.              <enabled>true</enabled>  

13.            </releases>  

14.            <snapshots>  

15.              <enabled>false</enabled>  

16.            </snapshots>  

17.          </repository>  

18.        </repositories>  

19.        <pluginRepositories>  

20.          <pluginRepository>  

21.            <id>nexus</id>  

22.           <name>local private nexus</name>  

23.            <url>http://maven.oschina.net/content/groups/public/</url>  

24.            <releases>  

25.              <enabled>true</enabled>  

26.            </releases>  

27.            <snapshots>  

28.              <enabled>false</enabled>  

29.            </snapshots>  

30.          </pluginRepository>  

31.        </pluginRepositories>  

32.      </profile>  

 

 

编译过程会下载所需文件,并且持续很长时间。

编译成功后会生成一个tar包,如下图所示:



 

编译后的路径在

hadoop-2.3.0-cdh5.0.0/src/hadoop-dist/target

目录下。

内容如下:


进入编译后的hadoop-2.3.0-cdh5.0.0/bin目录。可以查看Hadoop版本

#./Hadoop version

 

 

 

0 0
原创粉丝点击