目录

  • 了解Hive的数据压缩
  • Hadoop安装snappy(编译源码)
  • 第一步:配置阿里云yum源
  • 第二步:配置/etc/resolv.conf
  • 第三步:下载Hadoop源码并解压
  • 第四步:配置JDK
  • 第五步:安装配置maven
  • 第六步:protobuf-2.5.0安装
  • 第七步:snappy安装
  • 第八步:安装CMake
  • 第九步:hadoop编译
  • 第十步:hadoop配置修改
    • (1)修改core-site.xml
    • (2)修改mapred-site.xml
  • 测试
  • 疑惑详解

了解Hive的数据压缩

hive 的数据压缩 == MR的数据压缩

1.在哪个阶段进行数据压缩

MR阶段过程:

  input  -> map   -> shuffle  ->  reduce  ->  output

shuffle 阶段几个重要内容:

  分区   ->  排序   -> combiner(map端的reduce)  -> 压缩   -> 分组

compression压缩的阶段:

  map 输出  和   reduce 输出

2.为什么要数据压缩

  • 节省磁盘空间
  • 减小网络IO、磁盘IO

3.有哪些数据压缩方案

  zlib gzipbzip2snappy(google 企业应用)lz4lzo
  • 节省存储空间:bzip2 > gzip > lzo
  • 解压速度:lzo > gzip > bzip2

4.查看Hadoop中的压缩数据工具

bin/hadoop checknative -a


下面要开始安装数据压缩snappy

Hadoop安装snappy(编译源码)

准备工具

  • 电脑系统:macOS 10.15.4
  • 虚拟机软件:Parallels Desktop14
  • Hadoop各节点节点操作系统:CentOS 7
  • JDK版本:jdk1.7.0_67
  • Hadoop CDH版本:hadoop-2.6.0-cdh5.9.3
  • 官方Hadoop2.6.0源码:hadoop-2.6.0-src
  • protobuf版本:protobuf-2.5.0
  • snappy版本:snappy-1.1.3
  • maven版本:apache-maven-3.5.4-bin

snappy下载链接:
https://src.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.3.tar.gz/7358c82f133dc77798e4c2062a749b73/

protobuf下载链接:
https://github.com/google/protobuf/releases/tag/v2.5.0

官方Hadoop2.6.0源码下载链接:
https://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/

maven3.5.4下载链接:
https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/


第一步:配置阿里云yum源

1、打开centos的yum文件夹

cd /etc/yum.repos.d/

2、用wget下载repo文件

wget http://mirrors.aliyun.com/repo/Centos-7.repo

如果wget命令不生效,说明还没有安装wget工具

yum -y install wget

回车进行安装,当前目录是/etc/yum.repos.d/,刚刚下载的Centos-7.repo也在这个目录上。

3、备份系统原来的repo文件

mv CentOS-Base.repo CentOS-Base.repo.bak

4、替换系统原理的repo文件

mv Centos-7.repo CentOS-Base.repo

5、执行yum源更新命令

yum clean all
yum makecache
yum update

第二步:配置/etc/resolv.conf

vim /etc/resolv.conf

添加内容:

nameserver 8.8.8.8
nameserver 8.8.4.4

第三步:下载Hadoop源码并解压

chmod u+x hadoop-2.6.0-src.tar.gz
tar -zxvf hadoop-2.6.0-src.tar.gz -C /opt/modules

第四步:配置JDK

在Hadoop安装snappy的时候需要jdk7,这是我在测试的时候成功过,jdk1.8在编译的时候会报错

下面就需要重新安装jdk7,并修改配置文件,记得在编译过之后要把jdk换回来8d

export JAVA_HOME=/opt/modules/jdk1.7.0_67
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

第五步:安装配置maven

chmod u+x apache-maven-3.5.4-bin.tar.gz
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /opt/modules

配置环境变量

export MAVEN_HOME=/opt/modules/maven
export PATH=$MAVEN_HOME/bin:$PATH

测试

mvn -version

配置conf/setting.xml

<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

第六步:protobuf-2.5.0安装

在安装protobuf-2.5.0之前需要安装gcc、PCRE、zlib、openssl等依赖库。

yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
tar zxvf pcre-8.40.tar.gz

下面先解压protobuf-2.5.0

tar -vxf protobuf-2.5.0.tar -C /opt/modules

然后进入到protobuf-2.5.0目录下,进入到root模式下,依次执行

   ./configure./make./make install

查看版本

[caizhengjie@bigdata-pro-m01 protobuf-2.5.0]$ protoc --version
libprotoc 2.5.0

即可表示安装成功

第七步:snappy安装

先解压snappy-1.1.3.tar

tar -xvf snappy-1.1.3.tar -C /opt/modules

然后进入到snappy-1.1.3目录下,进入到root模式下,依次执行

   ./configure./make./make install

默认的安装路径

/usr/local/lib

第八步:安装CMake

sudo yum install cmake

第九步:hadoop编译

解压之后,进入hadoop-2.6.0-src,进入到root模式
然后使用如下编译命令:

mvn clean package  -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/lib

大概要等三四十分钟,在网络稳定的情况下即可安装成功

我的这里安装的路径在

/opt/modules/hadoop-2.6.0-src/hadoop-dist/target/hadoop-2.6.0/lib/native

下面需要将hadoop-2.6.0/lib/native里面的安装文件拷贝到HadoopCDH版本的lib/native

cp -r ../native/* /opt/modules/hadoop/lib/native/

最后查看/opt/modules/hadoop/lib/native里面的文件

第十步:hadoop配置修改

(1)修改core-site.xml

3台机在core-site.xml文件中添加:

<property>
<name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec
</value>
</property>

(2)修改mapred-site.xml

在mapred-site.xml文件中添加:

<property>
<name>mapreduce.map.output.compress</name>
<value>true</value>
</property><property>
<name>mapreduce.map.output.compress.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>

这里只配置了map端的数据压缩
如何查看:
首先启动服务

sbin/mr-jobhistory-daemon.sh start historyserver

查看历史服务器web访问端口:19888

测试

bin/hadoop checknative -a


在测试一下mapreduce的wordcount程序,看一下压缩数据的效果

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.9.3.jar wordcount /user/caizhengjie/datas/wordcount.txt /user/caizhengjie/mr/output1

疑惑详解

/usr/local/lib下有snappy,那么为什么不直接把snappy拷贝到Hadoop的lib/native目录下,而是还需要编译Hadoop源码

经过mapreduce的wordcount测试,出现了报错


以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!

Hadoop安装snappy(编译源码)相关推荐

  1. 64位centos 下编译 hadoop 2.6.0 源码

    64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新 ...

  2. linux7安装haproxy,Centos7 源码编译安装haproxy

    Centos7 源码编译安装haproxy 操作环境: 一台haproxy主机地址为:192.168.80.100 两台web服务器地址分别为:192.168.80.102 192.168.80.10 ...

  3. CentOS中通过编译源码包的方式安装Git

    场景 这里介绍通过源码包安装的方式 源码文件下载地址: - 地址1:https://www.kernel.org/pub/software/scm/git/ - 地址2:https://github. ...

  4. android 代码发adb,Android预安装软件adb命令编译源码

    Android预安装软件&adb命令&编译源码 发布时间:2020-06-02 17:28:41 来源:51CTO 阅读:895 作者:年少的风 1.预安装软件: 将eclipse下的 ...

  5. mysql 5.7 源码编译安装_mysql-5.7.*源码编译安装

    mysql-5.7.*源码编译安装 系统安装条件 官方文档说明:http://dev.mysql.com/doc/refman/5.7/en/source-installation.html 1> ...

  6. ubuntu中手动编译源码安装Xorg-server过程中依赖关系的解决

    ubuntu中手动编译源码安装Xorg-server过程中依赖关系的解决 在linux系统中手动编译源码安装软件包的过程是非常痛苦的,然而这一个多星期以来我是强忍住脾气体验了一把,虽然面对慢的令人发指 ...

  7. Ubuntu下Ruby的下载和编译源码安装

    1.Ruby的下载 Ruby可以在 Ruby 官网上下载,如果想获取更多的Ruby版本,可以到淘宝镜像网站下载. 2.Ruby的编译源码安装 解压 首先把下载下来的源码压缩包解压到自己指定的目录 编译 ...

  8. mac 编译源码安装 opencv

    无法直接 brew install opencv时,可以按照本教程安装. 第一步:brew install cmake 第二步:编译源码安装 opencv,参照Mac系统下的Opencv开发环境搭建- ...

  9. Ubuntu下android-4.0.3_r1源码下载,阅读工具安装配置,源码编译详解

    备注: android源码动辄6.7G,新版本的则10G左右,所以要有足够大的硬盘空间. android应用开发环境搭建:http://www.cnblogs.com/pharen/archive/2 ...

  10. FFmpeg入门详解之104:Win10快速安装OpenSSL(不用编译源码)

    win10x64安装OpenSSL:不用编译源码 网上一堆的教程教你去下载opensll源代码并用vs进行编译,虽然我有安装vs2015,但是看到那么长的编译步骤,太心累了. 懒人只得找简单的方法,最 ...

最新文章

  1. 中科院 工程硕士专业课 复试考试前的辅导安排
  2. AcWing算法提高课 Level-3 第二章 搜索
  3. mysql内存体系结构_Innodb存储引擎的体系架构之内存
  4. 为SharePoint Services (SPS)设置文件图标
  5. Firefox不支持input手动填写后的getAttribute(value),只能用.value(Firefox 3.5.5 Windows)。bug?...
  6. mysql frm 恢复_mysql 从 frm 文件恢复 table 表结构的3种方法
  7. 系统学习数字图像处理之彩色图像处理
  8. 机器学习实战系列(七):数值回归与预测
  9. 【eclipse】解决:eclipse或STS运行maven工程出现Missing artifact jdk.tools:jdk.tools:jar:1.7问题
  10. CASS11:超越自我,再续辉煌!CASS10.1.6:延续经典,只为更好!
  11. 初始化Maven本地仓库
  12. 屏幕真伪测试软件,如何检测电视屏幕真伪4K、坏点漏光?两款工具一键识别!...
  13. 零基础想考华为认证,该怎么学?
  14. android usb 开钱箱_USB打印机开钱箱
  15. java生成word目录_Apache POI自动生成Word文档(带目录)
  16. GTK开发(一)创建第一个窗口
  17. 【备忘】总结一些Java学习者经常去的网站及论坛
  18. 【测开实战】adb+python自动化刷快手/抖音视频来赚金币
  19. 内网穿透工具Ngrok
  20. Dell笔记本电脑编辑C语言,简约大气的C面设计

热门文章

  1. 服务器管理系统推荐,十大Windows服务器工具 系统管理员必备
  2. java计算机毕业设计科技专业师生沟通平台源码+数据库+lw文档+系统
  3. Linux学习笔记2—常见指令的使用
  4. 专题:手把手学习硬件基础------10、常用器件
  5. 原滴滴副总裁叶杰平加盟贝壳找房,任首席科学家,用AI帮你找房
  6. CRM实施阻力之独行侠作风
  7. kafka2.2源码分析之KafkaChannel
  8. 【Python数据分析学习实例】计算某个函数的一阶导数、二阶导数,并绘出图像
  9. Building IKEv1 and IKEv2 on CentOS 7
  10. Unity OSA循环列表插件常用介绍