本文出自https://shuwoom.com博客,欢迎访问!

本机环境:

ubuntu 12.04  32位

jdk 1.7

(1)maven-3.2.2的安装

首先到maven官网下载,http://maven.apache.org/,这里我下载了最新版本,maven-3.2.2

解压到/usr/local/目录下: tar -zxvf  apache-maven-3.2.2-bin.tar.gz,并重命名为maven

修改 /etc/profile:

添加一下两个变量并保存:

export M2_HOME=/usr/local/maven
export PATH=.:$M2_HOME/bin:$PATH

然后在终端上输入:source /etc/profile

测试是否安装成功,在终端输入:mvn  -v,如果出现下面提示表示安装成功:

(2)ant-1.9.4的安装

首先到Ant的官方网站下载,http://ant.apache.org/, 这里我下载最新版本,ant-1.9.4

解压到/usr/local/目录下: tar -zxvf  apache-ant-1.9.4-bin.tar.gz,并重命名为ant

修改 /etc/profile:

添加一下两个变量并保存:

export ANT_HOME=/usr/local/ant
export PATH=.:$ANT_HOME/bin:$PATH

然后在终端上输入:source /etc/profile

测试是否安装成功,在终端输入:ant  -version,如果出现下面提示表示安装成功:

(3)protobuf-2.5.0的安装

首先到protobuf官方网站下载,https://code.google.com/p/protobuf/downloads/list,这里我下载最新版本,protobuf-2.5.0。

解压到/usr/local/目录下: tar -zxvf  protobuf-2.5.0.tar.gz,并重命名为protobuf

在进行下一步安装之前,我们要把一些必要的库或软件安装上:

  • apt-get install build-essential
  • apt-get install autoconf
  • apt-get install automake
  • apt-get install libtool

接下来按照:A、./configure  B、make  C、make check  D、make install的步骤安装。

(4)jdk1.6安装

这里见前面的文章即可,不在重复叙述。最好不要装jdk1.7,会有一些兼容性问题导致不能安装成功。

(5)下载hadoop1.0.4源码并进行编译

源码的下载可以到 https://github.com/apache/hadoop-common/releases,hadoop-common-release-1.0.4.tar.gz下载,要标有rc标志的才是源码,一般都是20多M,已编译好的一般有60M。

解压:tar -zxvf  hadoop-common-release-1.0.4.tar.gz,

然后进入hadoop目录,输入:ant package。

不过呢,编译1,2分钟后,就显示BUILD FAILED了。错误信息如下:

BUILD FAILED
/usr/local/hadoop-common-release-1.0.4/build.xml:1343: 'java5.home' is not defined.  Forrest requires Java 5.  Please pass -Djava5.home=<base of Java 5 distribution> to Ant on the command-line.

Total time: 2 minutes 12 seconds

说是要我们在ant package命令之后添加-Djava5.home=<jdk5的安装路径>。也就是说要我们安装java5,可能是hadoop1.0.4版本比较旧的关系,要求的jdk也比较旧,这里,有两个解决方案:

方案1:当然就是安装java5,然后再输入命令后面加入java5安装路径,ant package -Djava5.home=<jdk5安装路径>。

方案2:进入hadoop源码目录,找到build.xml注释某一段代码,可以让我们忽略这一个警告,我就是用方案2实现的。

build.xml:

​接下来,我们再重新编译:ant package

这次,我们又碰上编译失败,不过这次不是提示上一次的错误信息了,让我们看看这次是什么错误:

/usr/local/hadoop-common-release-1.0.4/build.xml:1598: The following error occurred while executing this line:
/usr/local/hadoop-common-release-1.0.4/build.xml:2781: exec returned: 2

Total time: 2 minutes 10 seconds

这是一个网上已经解决的bug,解决方案:

到Hadoop源码目录下找到src/c++/task-controller/configure.ac文件,

找到AC_SYS_LARGEFILE这一行,注释掉即可。

重新编译ant package,这次终于成功了!


进入build文件夹,可以发现多了个hadoop-1.0.4-SNAPSHOT文件夹,这个就是我们已经编译好的hadoop文件,进入看可以发现和网上提供的hadoop文件时一样的。

我们现在就可以使用这个hadoop文件进行部署开发了。

参考:

打赏

发表评论

电子邮件地址不会被公开。