* 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开始下载即可。

* 下载完成后解压该软件包,注意目录权限问题

解压后,我的目录结构如图:

 
 

* 查看BUILDING.txt文件,重要内容如下:

 
 

注意:该部分描述的内容是编译这个版本的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

最后我的环境变量配置如图:

 
注意,JDK我临时用了1.7的,因为1.8的编译会出现错误

* 编译

Maven的setttings.xml中的mirror配置:

 
 

使用命令进行编译:

$ 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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Hadoop-CDH源码编译的更多相关文章

  1. Hadoop的源码编译

    目录 正文 1.准备阶段 使用root登录Centos,并且要求能够正常连接网络.配置清单如下: (1)hadoop-2.7.2-src.tar.gz (2)jdk-8u144-linux-x64.t ...

  2. 1、Spark 2.1 源码编译支持CDH

    目前CDH支持的spark版本都是1.x, 如果想要使用spark 2x的版本, 只能编译spark源码生成支持CDH的版本. 一.准备工作 找一台Linux主机, 由于spark源码编译会下载很多的 ...

  3. Hadoop源码编译过程

    一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...

  4. Hadoop,HBase,Zookeeper源码编译并导入eclipse

    基本理念:尽可能的参考官方英文文档 Hadoop:  http://wiki.apache.org/hadoop/FrontPage HBase:  http://hbase.apache.org/b ...

  5. apache kafka & CDH kafka源码编译

    Apache kafka编译 前言 github网站kafka项目的README.md有关于kafka源码编译的说明 github地址:https://github.com/apache/kafka ...

  6. 基于cdh5.10.x hadoop版本的apache源码编译安装spark

    参考文档:http://spark.apache.org/docs/1.6.0/building-spark.html spark安装需要选择源码编译方式进行安装部署,cdh5.10.0提供默认的二进 ...

  7. hadoop 源码编译

    hadoop 源码编译 1.准备jar 1) hadoop-2.7.2-src.tar.gz 2) jdk-8u144-linux-x64.tar.gz 3) apach-ant-1.9.9-bin. ...

  8. hadoop-2.0.0-mr1-cdh4.2.0源码编译总结

    准备编译hadoop-2.0.0-mr1-cdh4.2.0的同学们要谨慎了.首先看一下这篇文章: Hadoop作业提交多种方案 http://www.blogjava.net/dragonHadoop ...

  9. Spark环境搭建(六)-----------sprk源码编译

    想要搭建自己的Hadoop和spark集群,尤其是在生产环境中,下载官网提供的安装包远远不够的,必须要自己源码编译spark才行. 环境准备: 1,Maven环境搭建,版本Apache Maven 3 ...

随机推荐

  1. Aizu - 2306 Rabbit Party (DFS图论)

    G. Rabbit Party Time Limit: 5000ms Case Time Limit: 5000ms Memory Limit: 65536KB 64-bit integer IO f ...

  2. Linux文件查找命令具体解释-which whereis find locate

    原创BLog.转载请注明出处 http://blog.csdn.net/hello_hwc? viewmode=contents which命令 首先查看man which的说明 which - sh ...

  3. ida动态调试so,在init_array和JNI_ONLOAD处下断点

    本文涉及到的apk.请在github下载https://github.com/jltxgcy/AliCrack/AliCrackme_2.apk. 0x00 怎样在JNI_ONLOAD下断点.參考安卓 ...

  4. nmq 提交到 npm

    安装npm install nmq 源码:https://github.com/ronwe/nmq 此版本提供 pub/sub , 优化 pull

  5. Android中文API-ViewStub

    ViewStub控件是一个不可见,0尺寸得惰性控件.当ViewStub控件设置可见,或者调用inflate(),并运行完毕之后,ViewStub所指定的layout资源就会被载入.这个ViewStub ...

  6. bzoj5105: [CodePlus2017]晨跑(LCM)

    5105: [CodePlus2017]晨跑 题目:传送门 题解: 没有很懂Code Puls 的操作...一道签到的三个数的LCM??? 代码: #include<cstdio> #in ...

  7. 创建一个web user control

    1.创建文件 添加,然后选择web user control 2.添加控件 在工具栏搜索button,然后拖动三个button上去 <%@ Control Language="C#&q ...

  8. 在Jquery里格式化Date日期时间数据

    在Jquery里格式化Date日期时间数据: $(function(){ //当前时间格式化yyyy-MM-dd HH:mm:ss alert(timeStamp2String(new Date(). ...

  9. GetExecutingAssembly() 和 GetCallingAssembly() 的区别

    在TCX_1710项目代码的启动项目根目录路径下的Global.asax.cs配置文件中的MVCApplication类中的Application_Start()方法中,配置了项目启动时要加载的项目信 ...

  10. CSS3的常用属性(一)

    选择器 属性选择器(通过标签属性来选择) E[attr]: 表示只要元素<E>存在属性attr就能被选中  如: div[class] E[attr=val]: 表示元素<E> ...