zhousan 发表于 2015-11-11 11:32:40

(9)ubuntu下hadoop1.0.4源码编译

  本机环境:

ubuntu 12.0432位
jdk 1.7
(1)maven-3.2.2的安装



  首先到maven官网下载,http://maven.apache.org/,这里我下载了最新版本,maven-3.2.2
  解压到/usr/local/目录下: tar -zxvfapache-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 -zxvfapache-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 -zxvfprotobuf-2.5.0.tar.gz,并重命名为protobuf
  在进行下一步安装之前,我们要把一些必要的库或软件安装上:
  apt-get install build-essential


  apt-get install autoconf


  apt-get install automake
  apt-get install libtool
  接下来按照:A、./configureB、makeC、make checkD、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 -zxvfhadoop-common-release-1.0.4.tar.gz,
  然后进入hadoop目录,输入:ant package。
  不过呢,编译1,2分钟后,就显示BUILD FAILED了。错误信息如下:
  

<span style=&quot;color:#ff0000;&quot;>java5.check:
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</span>
说是要我们在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
  这次,我们又碰上编译失败,不过这次不是提示上一次的错误信息了,让我们看看这次是什么错误:
  

<span style=&quot;color:#ff0000;&quot;>BUILD FAILED
/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</span>
这是一个网上已经解决的bug,解决方案:  
  到Hadoop源码目录下找到src/c&#43;&#43;/task-controller/configure.ac文件,
  找到AC_SYS_LARGEFILE这一行,注释掉即可。
  重新编译ant package,这次终于成功了!
  

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



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


  参考:
  (1)http://my.oschina.net/quanzl/blog/172816
  (2)http://f.dataguru.cn/thread-34452-1-1.html
  (3)http://my.oschina.net/zhujinbao/blog/54383
  (4)http://www.aboutyun.com/thread-6504-1-1.html
  


  


  


  



版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: (9)ubuntu下hadoop1.0.4源码编译