Hadoop-CDH源码编译
* Hadoop-CDH源码编译
这一节我们主要讲解一下根据CDH源码包手动编译的过程,至于为什么要使用CDH,前几节已经说明,那为什么又要自己手动编译,因为CDH的5.3.6对应的Hadoop2.5.0没有native动态库,很多压缩功能无法使用。
* 首先源码包下载:
http://archive.cloudera.com/cdh5/cdh/5/
找到对应的 :hadoop-2.5.0-cdh5.3.6-src.tar.gz开始下载即可。
* 下载完成后解压该软件包,注意目录权限问题
解压后,我的目录结构如图:
![](http://upload-images.jianshu.io/upload_images/4951489-6588f76b02de17ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
* 查看BUILDING.txt文件,重要内容如下:
![](http://upload-images.jianshu.io/upload_images/4951489-2b2d73933ca45f28.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
注意:该部分描述的内容是编译这个版本的CDH所需的环境
编译环境所需软件打包下载传送门:
链接:http://pan.baidu.com/s/1jI1bHPG 密码:i8z8
* Findebugs安装:
$ unzip -o -d /opt/modules/ /opt/softwares/findbugs-1.3.9.zip
* ProtocolBuffer 2.5.0安装
$ ./configure --prefix=/opt/modules/protobuf-2.5.0
$ make && make install
如果,在执行以上命令时,如果出现编译错误,可能编译工具补全导致的,请安装:
# yum install gcc
# yum install gcc-c++
# yum install cmake
* 安装snappy
先下载:
https://github.com/electrum/hadoop-snappy
指定的一个安装目录,默认是根目录:
./configure --prefix=/opt/modules/snappy
make && make install
mvn package -Dsnappy.prefix=/opt/modules/snappy
* 最后两个依赖:
# yum -y install zlib-devel
# yum -y install openssl
最后我的环境变量配置如图:
![](http://upload-images.jianshu.io/upload_images/4951489-d22613e88c07ba22.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
* 编译
Maven的setttings.xml中的mirror配置:
![](http://upload-images.jianshu.io/upload_images/4951489-046a1d88ea023f3e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
使用命令进行编译:
$ mvn package -Pdist,native,docs -DskipTests -Dtar
在编译过程中可能出现种种错误,比如tomcat依赖包下载不下来,或者各种依赖包下载不下来,可以自行下载报错的依赖然后放置到指定目录,以及删除报错对应目录下的x.lastUpdated文件。祝你好运:)(我从没遇见过1次就编译成功的)
最后,想省劲,或者在使用本教程的过程中想直接解决找不到native错误问题的,直接下载编译好的即可,注意最后要放在Hadoop的对应目录下:
链接:http://pan.baidu.com/s/1dEDgZBj 密码:x27z
个人微博:http://weibo.com/seal13
QQ大数据技术交流群(广告勿入):476966007
作者:Z尽际
链接:https://www.jianshu.com/p/a300bceb1caf
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。