在安装CDH版本的hadoop的时候, 我们下载下来的CDH的hadoop安装包中, 并没有native包,不支持各个任务阶段的压缩功能,但在生产任务中是必须要支持压缩功能的,所以要对CDH进行编译以支持压缩功能;

本次编译使用的各软件版本:

cdh:hadoop-2.6.0-cdh5.7.0-src.tar.gz
jdk:1.7(经多位同学踩坑,不要使用1.8版本的)
maven:apache-maven-3.3.9-bin.tar.gz
protobuf:protobuf-2.5.0.tar.gz
系统:Centos 7.5cdh官方下载地址:http://archive.cloudera.com/cdh5/cdh/5

依赖的软件百度网盘地址

repo.tar.gz 链接:https://pan.baidu.com/s/1wGCgV_3R3VUm2ka_aVA8GQ 提取码:lrej
Hadoop Hadoop-2.6.0-cdh5.7.0-src.tar.gz  链接:https://pan.baidu.com/s/1uRMGIhLSL9QHT-Ee4F16jw 提取码:jb1d
jdk jdk-7u80-linux-x64.tar.gz  链接:https://pan.baidu.com/s/1xSCQ8rjABVI-zDFQS5nCPA 提取码:lfze
maven apache-maven-3.3.9-bin.tar.gz 链接:https://pan.baidu.com/s/1ddkdkLW7r7ahFZmgACGkVw  提取码:fdfz
protobuf protobuf-2.5.0.tar.gz 链接:https://pan.baidu.com/s/1RSNZGd_ThwknMB3vDkEfhQ  提取码:hvc2

首先安装各种依赖:

yum install -y svn ncurses-devel
yum install -y gcc gcc-c++ make cmake
yum install -y openssl openssl-devel svn ncurses-devel zlib-devel libtool
yum install -y snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop autoconf automake cmake

配置jdk的环境变量:

[root@hadoop004 soft]# cat /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH[root@hadoop004 soft]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

配置maven的环境变量:

#配置环境变量
[root@hadoop004 soft]# cat /etc/profile.d/maven.sh
MAVEN_HOME=/usr/local/maven
export PATH=$MAVEN_HOME/bin:$PATH[root@hadoop004 local]# mvn --version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/maven
Java version: 1.7.0_79, vendor: Oracle Corporation
Java home: /usr/java/jdk1.7.0_79/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.3.2.el7.x86_64", arch: "amd64", family: "unix"#配置mvn的本地存放地址
<localRepository>/usr/local/maven/repo</localRepository>
将上面下载repo.tar.gz解压后的内容放在此本地仓库目录下,以便于cdh编译时直接使用,否则下载将浪费大量的时间#配置mvn下载源为阿里云的maven仓库
<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>

编译安装protobuf并配置环境变量:

#编译安装命令
tar -zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure  --prefix=/root/protobuf/
make
make install#配置环境变量
[root@hadoop004 soft]# cat /etc/profile.d/protobuf.sh
PROTOC_HOME=/usr/local/protobuf
export PATH=$PROTOC_HOME/bin:$PATH#查看是否安装成功
source /etc/profile.d/protobuf.sh
[root@hadoop004 soft]# protoc --version
libprotoc 2.5.0

编译cdh的hadoop源码:

tar -xzvf hadoop-2.6.0-cdh5.7.0-src.tar.gz
cd hadoop-2.6.0-cdh5.7.0
mvn clean package -Pdist,native -DskipTests -Dtar

遇到的错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-pipes: An Ant BuildException has occured: exec returned: 1
[ERROR] around Ant part ...<exec dir="/data/soft/hadoop-2.6.0-cdh5.7.0/hadoop-tools/hadoop-pipes/target/native" executable="cmake" failοnerrοr="true">... @ 5:126 in /data/soft/hadoop-2.6.0-cdh5.7.0/hadoop-tools/hadoop-pipes/target/antrun/build-main.xml
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :hadoop-pipes

问题原因:在安装依赖的过程,漏装了openssl-devel;yum install -y openssl-devel

再次执行上面的安装命令:

tar -xzvf hadoop-2.6.0-cdh5.7.0-src.tar.gz
cd hadoop-2.6.0-cdh5.7.0
mvn clean package -Pdist,native -DskipTests -Dtar注:由于已经提前将cdh需要下载的依赖,放入了maven的本地仓库中了,所以节省了大量的下载时间

编译后的文件:

位置:./hadoop-dist/target目录下

文件:hadoop-2.6.0-cdh5.7.0

压缩文件:hadoop-2.6.0-cdh5.7.0.tar.gz

测试查看是否支持各种压缩:

[root@hadoop004 hadoop-2.6.0-cdh5.7.0]# ./bin/hadoop checknative
19/04/18 15:09:34 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native
19/04/18 15:09:34 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop:  true /data/soft/hadoop-2.6.0-cdh5.7.0/hadoop-dist/target/hadoop-2.6.0-cdh5.7.0/lib/native/libhadoop.so.1.0.0
zlib:    true /lib64/libz.so.1
snappy:  true /lib64/libsnappy.so.1
lz4:     true revision:99
bzip2:   true /lib64/libbz2.so.1
openssl: true /lib64/libcrypto.so

移动到其它机器时的报错及解决方案:

注意如果拷贝tar包到新的机器安装检查checknative报错

openssl: false Cannot load libcrypto.so (libcrypto.so: 无法打开共享对象文件: 没有那个文件或目录)!

centos中运行yum install openssl-devel -y

转载于:https://blog.51cto.com/14284607/2380601

cdh编译安装支持各种压缩格式相关推荐

  1. Java批量高效压缩支持加解密支持所有压缩格式(Zip/7z/rar)

    前言:有时候需要对很多文件进行压缩,几个还好如果有100个呢对吧,为什么不借助咱们强大的java呢,所以我就写了一个可以批量压缩,支持所有压缩格式的工具类当然也支持加密和解密,下面就是工具类的代码 废 ...

  2. 编译支持JPEG2000压缩格式的GDAL(ECW库、OpenJPEG)

    该文是在我另一篇博客"gdal.geos的 windows编译 openCL加速"基础上进行进一步扩展的,那篇博客记录的是gdal2.2.0的整个编译过程,由于那篇博客的文末记录了 ...

  3. hadoop配置支持LZO压缩格式

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 简介 安装lzo lzo并不是linux系统原生支持,所以需要下载安装软件包.这里至少需要安装3个软件包:lzo ...

  4. 银河麒麟桌面系统V10上编译安装支持录屏的开源截屏工具Capture

    前言 本文介绍银河麒麟桌面系统V10上开源截屏工具Capture的编译安装方法 一.安装git sudo apt update sudo apt install git -y 二.安装编译工具 银河麒 ...

  5. Ubuntu 编译ijkplayer 支持几乎所有格式(MP4,mov,mkv,avi,wmv,m4v,mpg,webm,ogv,3g2.flv,f4v,swf)和https

    以下都是经过自己测试过的,并集成,已测试MP4,mov,mkv,avi,wmv,m4v,mpg,webm,ogv,3g2.flv,f4v,swf格式可正常播放并有声音 整个编译过程和集成是按下面说的博 ...

  6. 哎哟我去!betterzip居然支持这么多压缩格式!

    Mac解压软件 BetterZip 是一款功能强大的Mac压缩工具,不仅有着强大的数据密码保护功能,让我们的压缩数据更加安全,还支持着多种压缩格式,不管是主流的还是其他的,都可以试用BetterZip ...

  7. 编译安装LAMP对其性能压力测试

    本文主要描述了apache,php,mysql的安装方式,并结合xcache对php进行加速,使用ab命令对php进行压力性能测试. 本次环境:都是在一台主机上实现,系统为Centos6.5_64位 ...

  8. Hive常见的压缩格式

    压缩格式 Hive支持的压缩格式有bzip2.gzip.deflate.snappy.lzo等.Hive依赖Hadoop的压缩方法,所以Hadoop版本越高支持的压缩方法越多,可以在$HADOOP_H ...

  9. Hadoop之常见压缩格式以及性能对比

    文章目录 1.压缩的好处和坏处 2.压缩格式 3.压缩测试 4.优缺点 5.图解MapReduce 6.总结 7.应用场景 为什么会出现需要对文件进行压缩? 在Hadoop中,文件需要存储.传输.读取 ...

最新文章

  1. linux下挂载U盘过程
  2. 线性求所有逆元的方法
  3. HDU 4535 吉哥系列故事——礼尚往来
  4. 山体等高线怎么看_每日一题 | 此处向斜山,你看出来了吗?
  5. 必须进行支持的游戏方可使用此功能_C#8.0 新增功能
  6. java 切面_Java笔试面试精心整理得到89道Spring 核心知识【收藏向】
  7. 查询SQLSERVER执行过的SQL记录
  8. VS2008找不到MFC90d.dll错误解决方法
  9. mysql的安装用于连接jsp_怎么用JSP连接安装在Linux上的MySQL
  10. ps修改dds贴图_ZBrush建模师教你zbrush与Photoshop绘制人脸贴图,听仔细了哈
  11. 【例题 7-2 UVA - 11059】Maximum Product
  12. ARM中的RO、RW和ZI DATA说明
  13. XenCenter开启虚机提示VDI不可用
  14. 做数据分析不得不看的书有哪些?
  15. WinCap数据包显示
  16. 专用集成电路 -- 运算电路 (加法器,乘法器,移位器)
  17. 做鼻子测试软件,深度解析鼻子类型,测试你属于哪种鼻子?
  18. vsCode常用插件(汉化,高亮)
  19. 小程序picker用法
  20. ToDoListEditor 任务清单工具

热门文章

  1. 前端如何实现音乐盒胶盘的转动_干货来袭!web前端开发工程师必看之如何使用CSS3实现瀑布流效果?...
  2. 前端学习之day02-CSS基础
  3. 8运行不了_好消息!十堰新建28座充电站,年底投入运行
  4. Java 开发人员必知必会的 20 种常用类库和 API
  5. Flexbox 布局 – 表单
  6. 浅析 React Fiber
  7. 【计算几何】【预处理】【枚举】Urozero Autumn Training Camp 2016 Day 5: NWERC-2016 Problem K. Kiwi Trees...
  8. Redis 未授权访问缺陷可轻易导致系统被黑
  9. windows下看端口占用
  10. 轻松理解spring IOC