CentOS6.5编译hadoop2.6.4
一. 下载必要的组件
a) 下载hadoop源码 (本文下载的是2.6.4)
地址 http://mirrors.hust.edu.cn/apache/hadoop/common/stable/hadoop-2.6.4-src.tar.gz
b) 下载apache-ant (本文下载的是1.9.9)
地址: http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.9-bin.zip
c) 下载protobuf-2.5.0.tar.gz (这是google出品的一个数据传输格式)
地址: https://developers.google.com/protocol-buffers/docs/downloads (官网地址要翻!墙!,百度上也能找到国内下载地址)
注意:hadoop2.6.0必须配protobuf 2.5.0版本,版本不匹配,编译将失败
d) 下载findbugs
地址: http://prdownloads.sourceforge.NET/findbugs/findbugs-3.0.1.tar.gz?download (最新版本即可)
e) 下载maven
地址: http://maven.apache.org/download.cgi (下载最新版即可,本文中用的是3.5.0)
f) 下载jdk
地址:这个比较容易找,大家自己去Oracle官网找着,jdk1.6 及以上(本文用的是1.7.79)
二. 设置环境变量
sudo vi /etc/profile
本文编译用加到了/etc/profile里
三.编译hadoop
- 编辑源代码根目录下的pom.xml,找到maven-enforcer-plugin所在的部分
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<configuration>
<rules>
<requireMavenVersion>
<version>[3.0.2,)</version>
</requireMavenVersion>
<requireJavaVersion>
<version>1.7</version>
</requireJavaVersion>
</rules>
</configuration>
</plugin>
2.同样尝试修改pom.xml
maven-antrun-plugin各种报错同样尝试修改pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.9.9</version>
</dependency>
</dependencies>
</plugin>
3.修改maven源库,用阿里的,下载速度快点
sudo vi /apps/apache-maven-3.5.0/conf/settings.xml
编译成功
四、编译遇到的问题
Could not resolve dependencies for projectorg.apache.hadoop:hadoop-minikdc:jar:2.6.4:
解决办法:
这种情况很常见,而且很多都碰到了,他们也是完全按照文档来配置的,但是就不成功,这就是因为插件没有下载完毕造成的。所以尽量多执行几次下面命令
mvn package -Pdist,native -DskipTests -Dtar