安装编译环境
当编译Linux内核及一些软件的源程序时,经常要用这个命令。Make命令其实就 是一个项目管理工具,而Ant所实现功能与此类似。像make,gnumake和nmake这些编译工具都有 一定的缺陷,但是Ant却克服了这些工具的缺陷。Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Hadoop需要 maven和ant工具进行编译管理
1、安装 jdk、gcc、gcc-c++ 、make、cmake、openssl-devel、ncurses-devel。
[root@node1 ~]# yum install java-1.7.0-openjdk* [root@node1 ~]# yum install gcc [root@node1 ~]# yum install gcc-c++ [root@node1 ~]# yum install openssl-devel [root@node1 ~]# yum install cmake [root@node1 ~]# yum install make [root@node1 ~]# yum install ncurses-devel
2、maven配置
① 下载maven软件包。下载地址如下: https://maven.apache.org/download.cgi 用winscp传到节点机 
② 解压maven软件包。
[root@node1 ~]# tar xvzf apache-maven-3.2.5-bin.tar.gz
③ 把maven软件移到目录/usr/local下。
[root@node1 ~]# mv apache-maven-3.2.5 /usr/local/maven
④ 编辑环境变量。
[root@node1 ~]# vim /etc/profile
文件末尾添加内容如下:
export M2_HOME=/usr/local/maven
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH="$M2:$PATH"
⑤ 使环境变量生效。
[root@node1 ~]# source /etc/profile
⑥ 检查maven版本,显示如下表示成功。 
⑦ 修改配置文件。 [root@node1 ~]# vim /usr/local/maven/conf/settings.xml
在<mirrors> </mirrors> 内添加如下内容
<profile>
<id>jdk-1.7</id>
<activation>
<jdk>1.7</jdk>
</activation>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
3、protobuf配置
① 下载protobuf软件包。下载地址如下: https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.bz2 
② 解压软件包。  出现这种情况原因:缺少bzip2包
yum install -y bzip2
之后再解压
[root@node1 ~]# tar xvjf /root/protobuf-2.5.0.tar.bz2
③ 配置、编译、安装、加载。
[root@node1 protobuf-2.5.0]# cd /root/protobuf-2.5.0 [root@node1 protobuf-2.5.0]# ./configure --prefix=/usr/local/protobuf [root@node1 protobuf-2.5.0]# make [root@node1 protobuf-2.5.0]# make install [root@node1 protobuf-2.5.0]# ldconfig
④ 编辑环境变量。
[root@node1 protobuf-2.5.0]# vim /etc/profile
文件末尾添加内容如下:
export LD LIBRARY_PATH=/usr/local/protobuf
export PATH="/usr/local/protobuf/bin:$PATH"
⑤ 使环境变量设置生效。
[root@node1 protobuf-2.5.0]# source /etc/profile
⑥ 检查protobuf版本,显示如下表示成功。 
4、ant配置
① 下载ant软件包。下载地址如下: http://mirrors.cnnic.cn/apache/ant/binaries/apache-ant-1.9.4-bin.tar.bz2 
② 解压软件包。
tar xvjf apache-ant-1.9.4-bin.tar.bz2
③ 把ant软件移到目录/usr/local下。
[root@node1 ~]# mv apache-ant-1.9.4 /usr/local/ant
④ 编辑环境变量。
[root@node1 ~]# vim /etc/profile
在profile文件末尾添加内容如下:
export ANT_HOME=/usr/local/ant
export PATH="$JAVA_HOME/bin:$PATH:$HADOOP_PREFIX/bin:$PATH:$M2:$PATH:$ANT_HOME/bin"
⑤ 使环境变量设置生效。
[root@node1 ~]# source /etc/profile
⑥ 检查ant版本,显示如下表示成功。 
编译Hadoop软件
目前主流linux服务器大多使用用64位操作系统,由于hadoop官方网站下载的hadoop-2.6.0.tar.gz只提供32位的编译版本,为了在64位操作系统上运行hadoop,我们需要重新编译hadoop。
1、下载hadoop2.6版本的开源代码软件包
下载地址如下: http://mirrors.cnnic.cn/apache/hadoop/common/stable/hadoop-2.6.0-src.tar.gz 
2、解压软件包。
[root@node1 ~]# tar xvzf hadoop-2.6.0-src.tar.gz
3、进入软件目录,清理数据。
[root@node1 hadoop-2.6.0-src]# mvn clean
 
4、编译打包。
[root@node1 hadoop-2.6.0-src]# mvn package -Pdist,native -DskipTests -Dtar
 可能出现了版本不兼容,需更改libprotoc版本,改为2.5.0(注:文章内容已经更改,此bug仅作参考) 
编译打包后显示如下信息: 
5、编译打包后在hadoop-dist/targe目录下生成相应软件包。

hadoop-2.6.0.tar.gz软件包编译打包完成。
|