* 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. Codeforces Round #286 (Div. 1) B. Mr. Kitayuta's Technology (强连通分量)

    题目地址:http://codeforces.com/contest/506/problem/B 先用强连通判环.然后转化成无向图,找无向图连通块.若一个有n个点的块内有强连通环,那么须要n条边.即正 ...

  2. win10+ubuntu双系统卸载ubuntu

    进入win10下载EasyUEFI,删除ubuntu的引导项.重启如果直接进入了win10,表示卸载成功了.然后可以格式化ubuntu的分区.

  3. 最长公共子序列(稀疏序列)nlogn解法

    首先这种做法只能针对稀疏序列, 比如这种情况: abc abacabc. 会输出5 ,,,,就比较尴尬, #include<iostream> #include<cstdio> ...

  4. Ubuntu 14.04下安装CUDA8.0

    配置环境如下: 系统:Ubuntu14.04 64bit 显卡:Nvidia K620M 显卡驱动:Nvidia-Linux-x86_64-375.66.run CUDA8.0 +  cudnn8.0 ...

  5. js邮箱,汉字,数字 表单验证

    //电子邮箱验证 function isEmail(str) { var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_ ...

  6. swift语言点评二

    一.数据类型 1.基础类型的封装 Swift provides its own versions of all fundamental C and Objective-C types, includi ...

  7. 脚本_实时显示网卡eth0上的数据流量

    #!bin/bash#功能:使用死循环,实时显示网卡eth0发送的数据包流量#作者:liusingbonwhile : do       echo "本地网卡eth0的数据流量信息如下:&q ...

  8. 转载:跟我一起写 Makefile

    陈皓(http://my.csdn.net/haoel) 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得 ...

  9. [USACO10NOV]奶牛的图片Cow Photographs 树状数组 递推

    Code: #include<cstdio> #include<algorithm> #include<string> #include<cstring> ...

  10. 洛谷 P2633 Count on a tree 主席树

    在一棵树上,我们要求点 $(u,v)$ 之间路径的第$k$大数. 对于点 $i$  ,建立 $i$  到根节点的一棵前缀主席树. 简单容斥后不难得出结果为$sumv[u]+sumv[v]−sumv[l ...