HBase 负载均衡关了会怎样?

 

HBase 可以根据集群负载以region为单位进行rebalance。在HMaster中,后台会起一个线程定期检查是否需要进行rebalance,线 程叫做BalancerChore。线程每隔 hbase.balancer.period会定期执行 master.balance()函数,配置项默认300000毫秒,5分钟。
hbase.balancer.max.balancing如果没有配置,则使用 hbase.balancer.period配置项的值。

hbase几个关键名词解释:

名称

解释

Master

负责RegionServer的负载均衡

负责RegionServer的故障转移

负责维护Table和Region的元信息,不存储表数据

RegionServer

负责管理Region,实际存储数据的地方

负责接收客户端对Region(数据)的读写请求

负责Region拆分及Region合并

Zookeeper

保证集群有且仅有一个Master

监控RegsionServer的状态并实时通知Master

存储Regsion的寻址入口

存储.META.表的位置、状态信息

Table

类似于关系型数据库中的表,用于存储一系列逻辑相关的数据。

Region

将Table基于RowKey区间进行水平拆分,每部分即为一个Region,类似于关系型数据库中的分表。Region是表可用性及分布性的基本单位。

 

如果发生以下情况则不会触发负载均衡操作:

  •  负载均衡自动操作 balance_switch关闭,即:balance_switch false;
  •  HBase Master节点正在初始化操作;
  •  HBase集群中正在执行RIT,即Region正在迁移中;
  •  HBase集群正在处理离线的RegionServer。

如果在某些特定环境下你不想让region数量均衡,但又需要RegionServer运行着,那么这个笨办法也是可以试一下的。

关闭一个节点服务。

$ ./hbase shell

hbase(main):002:0> balance_switch true

hbase(main):003:0> balancer

等分配结束,balance_switch false

启动一个节点,就成这样了。

不知道这个适用于那个场景,但是挺好玩~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值