HBase 2.3.7中snappy压缩配置

这篇具有很好参考价值的文章主要介绍了HBase 2.3.7中snappy压缩配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文将介绍如何在HBase 2.3.7中配置snappy压缩。snappy是一种快速的数据压缩和解压缩算法,可以提高HBase的存储空间利用率和读写性能。本文将使用HBase 2.3.7版本,运行在三个Ubuntu系统的虚拟机中,分别作为master和slave节点。

主要步骤如下:

  • 安装snappy,并检查是否成功。
  • 配置Hadoop,添加snappy的相关配置。
  • 配置HBase,添加snappy的相关配置。
  • 重启Hadoop和HBase服务。
  • 验证snappy压缩,使用CompressionTest工具和HBase Shell命令。

本文使用了HBase 2.3.7版本,运行在三个Ubuntu系统的虚拟机中,分别作为master和slave节点。也可以使用其他版本的HBase和其他操作系统,只要保证snappy的安装和配置正确

一、安装snappy

  • 在每个节点上,下载snappy的源码包,并解压。例如:
wget https://github.com/google/snappy/releases/download/1.1.9/snappy-1.1.9.tar.gz
tar -zxvf snappy-1.1.9.tar.gz
  • 进入解压后的目录,编译并安装snappy。例如:
cd snappy-1.1.9
./configure
make
sudo make install
  • 检查是否安装成功,可以使用ldconfig命令查看是否有libsnappy.so的链接。例如:
sudo ldconfig -p | grep libsnappy.so
  • 如果输出类似如下内容,说明安装成功:
libsnappy.so.1 (libc6,x86-64) => /usr/local/lib/libsnappy.so.1
libsnappy.so (libc6,x86-64) => /usr/local/lib/libsnappy.so

二、配置Hadoop

  • 在每个节点上,编辑Hadoop的配置文件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>
<property>
  <name>io.compression.codec.snappy.native</name>
  <value>true</value>
</property>
  • 这些配置指定了Hadoop支持的压缩编码器,并启用了snappy的本地库。

  • 在每个节点上,编辑Hadoop的配置文件hadoop-env.sh,添加以下内容:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  • 这个配置指定了Hadoop加载本地库的路径。

三、配置HBase

  • 在每个节点上,编辑HBase的配置文件hbase-env.sh,添加以下内容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  • 这个配置指定了HBase加载本地库的路径。

四、重启Hadoop和HBase

  • 在每个节点上,重启Hadoop和HBase服务。例如:
stop-dfs.sh
stop-yarn.sh
stop-hbase.sh

start-dfs.sh
start-yarn.sh
start-hbase.sh

五、验证snappy压缩

  • 在任意一个节点上,进入HBase Shell,使用CompressionTest工具验证snappy支持是否启用,并且本地库是否可以加载。例如:
hbase org.apache.hadoop.hbase.util.CompressionTest hdfs://host/path/to/hbase snappy
  • 如果输出类似如下内容,说明验证成功:
2023-5-28 10:23:45,123 INFO [main] Configuration.deprecation: io.bytes.per.checksum is deprecated. Instead, use dfs.bytes-per-checksum
2023-5-28 10:23:45,124 INFO [main] hfile.CacheConfig: CacheConfig:disabled
2023-5-28 10:23:45,125 INFO [main] hfile.CacheConfig: CacheConfig:disabled
SUCCESS
  • 在HBase Shell中,创建一个使用snappy压缩的表,并查看表的描述信息。例如:
create 't1', { NAME => 'cf1', COMPRESSION => 'SNAPPY' }
describe 't1'
  • 如果输出类似如下内容,说明创建成功:
Table t1 is ENABLED
t1, {TABLE_ATTRIBUTES => {coprocessor$1 => '|org.apache.hadoop.hbase.coprocessor.MultiRowMutationEndpoint|536870911|'}
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'SNAPPY', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
1 row(s)
Took 0.0179 seconds
  •  压缩测试

在HBase shell中将rawdata表转为压缩并整理,该表在创建时未设置压缩格式

alter 'rawdata', NAME => 'f1', COMPRESSION => 'snappy'

major_compact 'rawdata'

得到前后存储空间占用情况对比,效果显著,最上面有COMPRESSION压缩格式设置

前:

HBase 2.3.7中snappy压缩配置

后: 

HBase 2.3.7中snappy压缩配置

 文章来源地址https://www.toymoban.com/news/detail-492892.html

 

到了这里,关于HBase 2.3.7中snappy压缩配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包