1.在编译之前我们可能需要安装的工具如下:
- yum install lzo-devel zlib-devel gcc autoconf automake libtool ncurses-devel openssl-deve gcc-g++
2.需要 安装 ant 、 Maven、Findbugs 和protobuf
2.1 安装 maven
建议使用版本 Maven 3.0.5 ,高版本可能会存在一些问题。还有JAVA 版本建议使用1.6
下载官方地址http://maven.apache.org/docs/3.0.5/release-notes.html
解压后添加系统环境变量 vim /etc/profile
- export MAVEN_HOME=/opt/apache-maven-3.0.5
- export PATH=$PATH:$MAVEN_HOME/bin
命令:
mvn -version
- [hue@cloud-master FCCSDATA]$ mvn -version
- ApacheMaven3.0.5(r01de14724cdef164cd33c7c8c2fe155faf9602da;2013-02-1921:51:28+0800)
- Maven home:/usr/local/maven3.05
- Java version:1.6.0_45, vendor:SunMicrosystemsInc.
- Java home:/usr/local/jdk1.6/jre
- Default locale: zh_CN, platform encoding: UTF-8
- OS name:"linux", version:"2.6.32-431.el6.x86_64", arch:"amd64", family:"unix"
说明安装成功
2.2 安装Ant
- $ wget http://apache.dataguru.cn//ant/binaries/apache-ant-1.9.3-bin.tar.gz
- $ sudo tar zxf apache-ant-1.9.3-bin.tar.gz -C /opt
- $ sudo vim /etc/profile
添加环境变量
export ANT_HOME=/opt/apache-ant-1.9.3
export PATH=$PATH:$ANT_HOME/bin
2.3 安装Findbugs
- $ wget http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download
- $ tar zxf findbugs-2.0.3.tar.gz -C /opt
- $ vim /etc/profile
添加环境变量
export FINDBUGS_HOME=/opt/findbugs-2.0.3
export PATH=$PATH:$FINDBUGS_HOME/bin
2.4 安装protobuf
- $ wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
- $ tar zxf protobuf-2.5.0.tar.gz
- $ cd protobuf-2.5.0
- $ ./configure
- $ make
- $ make install
3. 从官方下载hadoop-2.0.0-cdh4.5.0 解压后
$ wget http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.5.0.tar.gz
$ tar xvfz hadoop-2.0.0-cdh4.5.0.tar.gz
$ cd hadoop-2.0.0-cdh4.5.0/src/
$ mvn package -DskipTests -Pdist,native -Dtar
可能出现的问题
undefined reference to `xdrmem_create’
我出现这个问题 可能是因为我升级了centos 的系统内核导致的。没有解决,换了一个节点按照上面的方法编译成功了。
下载包http://archive-primary.cloudera.com/cdh5/cdh/5/
- wget http://archive-primary.cloudera.com/cdh5/cdh/5/hadoop-2.3.0-cdh5.0.0.tar.gz
执行命令一样
解压
- tar xvfz hadoop-2.3.0-cdh5.0.0.tar.gz
- cd hadoop-2.3.0-cdh5.0.0/src
- mvn package-DskipTests-Pdist,native-Dtar
编译过程中 可能会出现出现 下载超时 可能是网络不好 重复执行 一下命令即可
如果出现
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (dist) on project hadoop-hdfs-httpfs: An Ant BuildException has occured: exec returned: 2 -> [Help 1] |
这个原因是tomcat 包没有下载完毕 ,可能是网络问题, 去网站里手工下载 http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.37/bin/
- cd hadoop-hdfs-project/hadoop-hdfs-httpfs/downloads
- wget http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.zip
然后重新执行 命令 ,基本上没有问题了
编译 eclipse
- mvn eclipse:eclipse -DdownloadSources=true-DdownloadJavadocs=true