* 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. WPF获取和设置鼠标位置与progressbar的使用方法

    一.WPF 中获取和设置鼠标位置 方法一:WPF方法 Point p = Mouse.GetPosition(e.Source as FrameworkElement); Point p = (e.S ...

  2. nyoj--747--蚂蚁的难题(三)(dp背包)

    蚂蚁的难题(三) 时间限制:2000 ms  |  内存限制:65535 KB 难度:4 描述 蚂蚁终于把尽可能多的食材都搬回家了,现在开始了大厨计划. 已知一共有 n 件食材,每件食材有一个美味度  ...

  3. TYVJ1415 差分约束

    思路: i–>i+1连一条边权为0的边 i–>i-1连一条边权为-1的边 start-1 ->end 连一条边权为w的边 求0->n的最长路即可 //By SiriusRen ...

  4. 2,HTTP请求应答返回码

    200 OK 请求成功,一般用于Get和Post请求 300 多种选择.请求的资源可包括多个位置,响应的返回一个资源特征与地址的列表用于浏览器(client)选择 Multiple Choices 3 ...

  5. Matplotlib 画廊

    https://matplotlib.org/gallery.html

  6. How Javascript works (Javascript工作原理) (六) WebAssembly 对比 JavaScript 及其使用场景

    个人总结: 1.webassembly简介:WebAssembly是一种用于开发网络应用的高效,底层的字节码.允许在网络应用中使用除JavaScript的语言以外的语言(比如C,C++,Rust及其他 ...

  7. WebKit.NET-0.5简单应用(2)——音量解决方案

    查找WebKit.NET相关文档,没有找到音量控制解决方法.换思路进行解决,尝试用Win32 API进行解决 [DllImport("winmm.dll")] public sta ...

  8. LVM的创建与挂载

    LVM的诞生: 由于传统的磁盘管理不能对磁盘进行磁盘管理,比如我把/dev/sdb1挂载到了/liu目录下,但是因为数据量过大的原因,此文件系统磁盘利用率已经高达98%,那么我可以直接对这个磁盘进行扩 ...

  9. java String字符串操作 字符串加密等

    子串加密 1,设计思想 (1)输入一个字符串 (2)通过toCharArray()的方法将字符串转换成字符数组 (3)新建一个字符数组用来存储修改后的字符数组 2,程序流程图 3,源代码 packag ...

  10. 【Henu ACM Round#24 E】Connected Components

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 要求把连续的一段li..ri的边全都删掉. 然后求剩下的图的联通数 如果暴力的话 复杂度显然是O(k*m)级别的. 考虑我们把li. ...