操作系统:Centos
所需条件:能上网
- 编译所需工具:
apache-ant-1.9.2-bin.tar.gz
apache-maven-3.0.5-bin.tar.gz
findbugs-2.0.2.tar.gz
protobuf-2.5.0.tar.gz - 编译工具还需配置环境变量到 /etc/profile,并加入的环境变量PATH中;
- 手动设置下载源:/etc/yum.repos.d/CentOS-Base.repo 或者 直接执行:yum update
- 完成上步操作后,终端切换到hadoop.2.2-src目录下执行:yum -y install lzo-devel zlib-devel gcc autoconf automake libtool openssl-devel cmake
- 打补丁:
将以下五行配置到hadoop.2.2-src目录下hadoop-common-project/hadoop-auth/pom.xml文件的58行,即<groupId>org.mortbay.jetty</groupId>后;
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId> - 编译安装protobuf,切换到protobuf目录下执行 ./configure完成后在执行make;make check;make install。若编译过protobuf过程中出现如下的错误提示,需要执行 yum install glibc-headers gcc-c++,安装c++编译器的相关package;
- 编译:
终端切换到hadoop.2.2-src目录下执行:mvn clean package -DskipTests -Pdist,native,docs –Dtar 或 mvn package -Pdist -DskipTests -rf :hadoop-hdfs (将native和生成文档的选项去掉编译)
configure: error: C++ preprocessor “/lib/cpp” sanity check
check See `config.log’ for more details
补充说明:这个过车时间比较长因为Maven需要下载所需要的jar包,如果出现失败那都是下载问题,重新执行命令就OK了;