Ubuntu14下Hadoop开发<2> 编译64位Hadoop2.4
Posted jhcelue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu14下Hadoop开发<2> 编译64位Hadoop2.4相关的知识,希望对你有一定的参考价值。
- Hadoop官方站点仅仅提供了32位的Hadoop包。我装的是64位的系统。自然无法使用,会报错误,导致的结果是无法启动hadoop
libhadoop.so.1.0.0 which might have disabled stack guard.
- 我们能够在${Hadoop-Home}/lib/native目录下找到libhadoop.so.1.0.0文件,会出现例如以下
[email protected]:$ file /usr/mytools/hadoop-2.4.0/lib/native/libhadoop.so.1.0.0 /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包。解压后。进入该文件夹。直接执行(别忘了,你的当前用户要有这个文件夹的操作权限)
mvn package -Pdist,native,docs -DskipTests -Dtar
- 漫长的调试工作開始了,搜资料,搜集这些包真是崩溃的节奏
- 下午3点一种弄到凌晨1点,经过几个小时的努力,应该安装的依赖软件包含
sudo apt-get install maven sudo apt-get install protobuf-compiler sudo apt-get install cmake sudo apt-get install zlib1g.dev sudo apt-get install g++ sudo apt-get install libglib2.0-dev sudo apt-get install libssl-dev
- 当中maven是maven3,我错误的觉得maven是1。ant是系统自带的1.9版本号
- 大多数的错误网上都能搜出解决,除了libglib2.0-dev和zlib1g.dev这两个依赖包,搜的时间较长
- 整个过程最崩溃的是cmake,装好之后,查看版本号,正常,但依旧报
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就可以
以上是关于Ubuntu14下Hadoop开发<2> 编译64位Hadoop2.4的主要内容,如果未能解决你的问题,请参考以下文章
MapReduce程序——WordCount(Windows_Eclipse + Ubuntu14.04_Hadoop2.9.0)
Ubuntu14.04或16.04下安装JDK1.8+Scala+Hadoop2.7.3+Spark2.0.2
ubuntu 14.04 下hadoop2.9.1 64位编译