分享

编译64位Hadoop2.4总结

pig2 2014-5-20 01:23:06 发表于 总结型 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 14623
问题导读:
1.32位安装在64位会出现什么问题?
2.an ant buildxception has occured exec returned 1这个错误的可能原因是什么?





插件包下载:
下载:hadoop2.4最新版本各种包下载

Hadoop官方网站只提供了32位的Hadoop包,我装的是64位的系统,自然无法使用,会报错误,导致的结果是无法启动hadoop
  1. libhadoop.so.1.0.0 which might have disabled stack guard.
复制代码

我们可以在${Hadoop-Home}/lib/native文件夹下找到libhadoop.so.1.0.0文件,会出现如下
  1. yuping@YP-X100e:$ file /usr/mytools/hadoop-2.4.0/lib/native/libhadoop.so.1.0.0
  2. /usr/mytools/hadoop-2.4.0/lib/native/libhadoop.so.1.0.0:ELF 32-bit LSB shared object, Intel 80386,version 1 (SYSV), dynamically linked, not stripped
复制代码

我没有使用svn,直接在官网下载的hadoop的src包,解压后,进入该目录,直接运行(别忘了,你的当前用户要有这个文件夹的操作权限)
  1. mvn package -Pdist,native,docs -DskipTests -Dtar
复制代码
漫长的调试工作开始了,搜资料,搜集这些包真是崩溃的节奏
下午3点一种弄到凌晨1点,经过几个小时的努力,应该安装的依赖软件包括
  1. sudo apt-get install maven
  2. sudo apt-get install protobuf-compiler
  3. sudo apt-get install cmake
  4. sudo apt-get install zlib1g.dev
  5. sudo apt-get install g++
  6. sudo apt-get install libglib2.0-dev
  7. sudo apt-get install libssl-dev
复制代码

其中maven是maven3,我错误的认为maven是1;ant是系统自带的1.9版本
大多数的错误网上都能搜出解决,除了libglib2.0-dev和zlib1g.dev这两个依赖包,搜的时间较长
整个过程最崩溃的是cmake,装好之后,查看版本,正常,但依然报


  1. an ant buildxception has occured exec returned 1
复制代码

仔细看了运行日志,才发现,我最开始的hadoop-src目录是在中文下,我在编译过程中怕中文对编译有影响,便将整个目录拷贝到某英文路径下,在移动之前执行过编译操作,但是没有安装zlib1g.dev和libglib2.0-dev,所以之后就算安装了这俩依赖包,还是会报错,解决的方式是删除这个hadoop-src,重新解压一份放到英文路径一下,再次执行打包操作
大概40分钟左右,搞定,生成的hadoop-2.4.0-src/hadoop-dist/target/hadoop-2.4.0,用这个替换掉之前的32位hadoop-2.4.0即可






已有(1)人评论

跳转到指定楼层
ucloud 发表于 2014-6-16 16:48:12
我的也是ant报错  但是不一样。  学习了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条