Linux(CentOS)下hadoop2.2.0源码编译
在CentOS上编译总是有错,最后发现原来是Maven版本的问题。刚开始使用的是Maven3.1.0,与Maven3.0.x存在兼容性问题,所以老是出现java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyFilter之类的错误。
由于所建CentOS虚拟机安装的软件包比较少,所以需要下载如下软件包并安装后才能编译:
Ant
Maven
ProtocolBuffer
findbugs
CMake
下载以上软件包并放置在/app/soft/hadoop目录下,开始如下安装步骤:# cd /app/soft/hadoop
# yum -y installlzo-develzlib-develgcc autoconf automake libtool
# tar zxf protobuf-2.5.0.tar.gz
# cd protobuf-2.5.0
# ./configure
# make
# make check
# make install
# cd ..
# tar apache-ant-1.9.2-bin.tar.gz
# mv apache-ant-1.9.2 /app/ant192
# tar apache-maven-3.0.5-bin.tar.gz
# mv apache-maven-3.0.5 /app/maven305
# tar zxf findbugs-2.0.2.tar.gz
# mv findbugs-2.0.2 /app/findbugs202
# tar zxf cmake-2.8.6.tar.gz
# cd cmake-2.8.6
# ./bootstrap; make; make install
# cd ..
# tar zxf hadoop-2.2.0-src.tar.gz
# mv hadoop-2.2.0-src /app/hadoop220_src
# chown -R hadoop:hadoop /app/hadoop220_src
# vi /etc/profile
export ANT_HOME=/app/ant192
export MAVEN_HOME=/app/maven305
export FINDBUGS_HOME=/app/findbugs202
export PATH=${ANT_HOME}/bin:${MAVEN_HOME}/bin:${FINDBUGS_HOME}/bin:$PATH
# source /etc/profile
# su - hadoop
$cd /app/hadoop220_src
$ mvn clean package -DskipTests -Pdist,native,docs -Dtar
编译成功后开始查看安装包:
可以使用自己的安装包了,配置到虚拟机,然后格式化,上传文件,终于和可恶的native提示说拜拜了。
页:
[1]