HBase 安装snappy压缩软件以及相关编码配置

前言

​ 在使用HBase过程中因为数据存储冗余、备份数等相关问题占用过多的磁盘空间,以及在入库过程中为了增加吞吐量所以会采用相关的压缩算法来压缩数据,降低存储空间和在入库过程中通过数据压缩提高吞吐量。

HBase-2.1.5

Hadoop-2.7.7

一、HBase安装Snappy压缩软件

snappy-1.1.3下载地址:

wget wget https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz
sudo yum -y install gcc-c++ libstdc++-devel
#下面是通过命令直接安装,
sudo yum -y install snappy snappy-devel
$ wget wget https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz
$ sudo yum install gcc-c++ libstdc++-devel #安装需要编译snappy的软件
$ tar -zxvf /home/zfll/soft/snappy-1.1.2.tar.gz
$ cd snappy-1.1.3
#安装完成之后重新进行./configure 然后 make
$ ./configure
$ make
$ sudo make install

hbase使用snappy进行对数据压缩需要再Linux安装snaapy,安装完成之后需要对相关配置文件进行修改,snappy安装完成之后一般是在/usr/local/lib中生成snappy的依赖包

hadoop-2.7.7:因为使用的是当前版本,当前版本中实际上是整合了snappy依赖包的,所以不需要去重新编译一个带有snappy的版本

$ $HADOOP_HOME/bin/hadoop checknative -a

检查当前安装的hadoop版本是否带有snappy

如上图数据中是带有了相关的压缩程序依赖包的

hadoop安装目录的hadoop/lib/native文件夹下存在如下内容:

如上内容为在使用snappy压缩的是时候需要依赖的包,在当前版本中已经编译好了,不需要再自己编译版本

安装完成之后,在HBase中使用,使用的时候需要进行相关配置

将依赖复制到HBase目录

$HADOOP_HOME/lib/native目录下的所有文件复制到$HBase/lib/native/linux-amd64-64目录中,目录不存在则新建

$ mkdir -p $HBASE_HOME/lib/native/linux-amd64-64
$ cp $HADOOP_HOME/lib/native $HBASE_HOME/lib/native/linux-amd64-64

:上述操作在集群中所有节点都需要进行操作,使得各个节点上的snappy程序在解压缩的时候能够找到依赖

hbase/conf/hbase-site.xml

<property>
<name>hbase.regionserver.codecs</name>
<value>snappy</value>
</property>

在上述文件中添加如上配置

hbase/conf/hbase-env.sh

export HBASE_LIBRARY_PATH=$HBASE_LIBRARY_PATH:$HBASE_HOME/lib/native/linux-amd64-64/:/usr/local/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native/:/usr/local/lib

完成上述配置之后需要跟新hbase-env.sh环境变量,每个节点都更新避免问题,然后关闭HBase重新启动HBase

$ source $HBASE/conf/hbase-env.sh
$ ./$HBase_HOME/bin stop-hbase.sh
$ ./$HBASE_HOME/lib start-hbase.sh

验证是否能够使用

完成上述安装和配置之后需要进行验证

$ hbase shell
$ > CREATE 'snappyTest',{NAME=>'info',COMPRESESSION=>'snappy'}

通过上述命令进行创建一个使用压缩算法snappy的表,看是否能够创建成功,可以再通过一些数据读写操作进行验证

major_compact

参考:

<https://segmentfault.com/a/1190000013211406>

HBase 安装snappy压缩软件以及相关编码配置的更多相关文章

  1. 关于Hbase开启snappy压缩

    版本:自己编译的hbase-1.2.0-cdh5.14.0 默认情况下,Hbase不开启snappy压缩 , 所以在hbase的lib/native目录下什么也没有(我的前提是执行hadoop che ...

  2. HBase里配置SNAPPY压缩以后regionserver启动不了的问题

    配置了HBase的SNAPPY压缩以后,出现regionserver启动不了的问题.分析应该是属性配置错了! 官网上的是:<name>hbase.regionserver.codecs&l ...

  3. Hadoop 2.2.0和HBase-0.98 安装snappy

    1.安装须要的依赖包及软件 须要安装的依赖包有: gcc.c++. autoconf.automake.libtool 须要安装的配套软件有: Java6.Maven 关于上面的依赖包,假设在ubun ...

  4. 压缩软件Snappy的安装

    1.下载源码,通过编译源码安装  tar -zxvf  /home/zfll/soft/snappy-1.1.2.tar.gz cd snappy-1.1.2 ./configure make sud ...

  5. HBase修改压缩格式及Snappy压缩实测分享

    一.要点 有关Snappy的相关介绍可参看Hadoop压缩-SNAPPY算法,如果想安装Snappy,可以参看Hadoop HBase 配置 安装 Snappy 终极教程. 1. HBase修改Tab ...

  6. [转]Snappy压缩库安装和使用之一

    Snappy压缩库安装和使用之一 原文地址:http://blog.csdn.net/luo6620378xu/article/details/8521223 近日需要在毕业设计中引入一个压缩库,要求 ...

  7. 转贴:sudo apt-get install 可以安装的一些软件

    Ubuntu 下的一些软件安装sudo apt-get install virtualbox#华主席推荐 2007年年度最佳软件,最佳编辑选择奖得主.....sudo apt-get install ...

  8. hbase开放lzo压缩

    hbase仅仅支持对gzip的压缩,对lzo压缩支持不好. 在io成为系统瓶颈的情况下,一般开启lzo压缩会提高系统的吞吐量. 但这须要參考详细的应用场景,即是否值得进行压缩.压缩率是否足够等等.  ...

  9. 大数据: 完全分布式Hadoop集群-HBase安装

            HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境.   本文基 ...

随机推荐

  1. css: scroll-table

    .scroll-table { table tbody { display: block; max-height: 120px; overflow-y: scroll; } table thead,t ...

  2. INDIRECT函数实现动态图表的跨数据抓取

    涉及函数: indirect函数:通常有两种用法.直接指定单元格地址和隐式指定单元格地址.直接指定:=indirect("A4"),则会返回A4单元格所显示的内容.参数给定的既是字 ...

  3. python实现线性回归之简单回归

    代码来源:https://github.com/eriklindernoren/ML-From-Scratch 首先定义一个基本的回归类,作为各种回归方法的基类: class Regression(o ...

  4. sqli lab less-5-6

    less-5 基于报错的注入 基于报错可以爆出当前数据库名等等 id=2' and extractvalue(1, concat(0x7c,(select user())));-- # ?id=2' ...

  5. 替换字符串sql

    update [表名] set 字段名 = replace(与前面一样的字段名,'原本内容','想要替换成什么') UPDATE `zjl_III_hei_zlj_20151111`.`ctrl_ne ...

  6. Iterator to list的三种方法

    目录 简介 使用while 使用ForEachRemaining 使用stream 总结 Iterator to list的三种方法 简介 集合的变量少不了使用Iterator,从集合Iterator ...

  7. Fabric的6大特性

    文章目录 什么是Hyperledger Fabric 1. 成员准入 2. 性能,可伸缩性和信任级别 3 需要了解的数据 4 通过不可变的分布式账本进行复杂查询 5 支持插件组件的模块化架构 6 保护 ...

  8. 移动端rem适配&iOS兼容

    移动端rem适配js // 默认375,750设计稿请将375替换为750 (function (doc, win) { // 移动端适配 var docEl = doc.documentElemen ...

  9. 自定义View之Canvas使用

    自定义View的绘制流程一般都是这样:提前创建好Paint对象,重写onDraw(),把绘制代码卸载ondraw()里面,大致如下: Paint paint = new Paint(); @Overr ...

  10. alerta 集中化告警信息 -zabbix

    Docker安装Alerta   https://hub.docker.com/D/alerta/alerta-web/ How to use this image To use this image ...