【Hbase】修改Hbase压缩方式,重启一个regionserver

本文介绍了Hbase的三种数据压缩方式:HFile block compression、In-cache key compression和dictionary-based WAL compression,强调了正确配置的重要性,并详细说明了如何平滑重启regionserver以应用新的配置,包括使用`graceful_stop.sh`命令以及避免不恰当的停止方式对服务造成影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一:hbase压缩主要分为三种

1)HFile block compression on disk:这种压缩方式主要是用在压缩存储在硬盘上的。支持Gzip、LZO、Snappy三种数据压缩。后面两种需要额外的配置和安装依赖。hbase默认提供的是第一种压缩方式。Gzip与LZO相比压缩比较高,而LZO是性能较高。

在hbase-site.xml配置压缩方式:

<property>
  <name>io.compression.codecs</name>
  <value></value>
  <description>A list of the compression codec classes that can be used 
               for compression/decompression.</description>
</property>


另外如果数据压缩方式配置不正确,可能会导致RegionServer无法启动,当修改配置之后需要重启habse。

检验数据压缩设置是否合适 可以使用如下命令来测试机器是否支持某种压缩方式:

./hbase org.apache.hadoop.hbase.util.CompressionTest 


其中对于Snappy与LZO的安装请查看:snappy与LZO安装与设置

2)In-cache key compression:

这是在hfile中的压缩,在hfile中有些key-value中的key可能是相似或者相同的,就应该采用压缩。只对key进行压缩,对value不做操作。压缩方式可能有多种。比如按照首字母进行压缩、diff压缩

3)A custom dictionary-based write-ahead log compression :

这是在wal中的压缩。wal就是write ahead log,hbase存储就是采用日志提前写的方式。


二:重启一个regionserver

   bin/graceful_stop.sh --restart --reload --debugnodename

    这个操作是平滑的重启regionserver进程,对服务不会有影响,他会先将需要重启的regionserver上面的所有region迁移到其它的服务器,然后重启,最后又会将之前的region迁移回来,但我们修改一个配置时,可以用这种方式重启每一台机子,这个命令会关闭balancer,所以最后我们要在hbase shell里面执行一下balance_switch true,对于hbase regionserver重启,不要直接kill进程,这样会造成在zookeeper.session.timeout这个时间长的中断,也不要通过bin/hbase-daemon.sh stop regionserver去重启,如果运气不太好,-ROOT-或者.META.表在上面的话,所有的请求会全部失败。

    关闭下线一台regionserver

    bin/graceful_stop.sh --stop  nodename

    和上面一样,系统会在关闭之前迁移所有region,然后stop进程,同样最后我们要手工balance_switch true,开启master的region均衡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值