Hbase的基本架构(二)Zookeeper HMaster作用

在HBase中,ZooKeeper起着重要的作用,主要有以下几个方面:

1. 协调服务:ZooKeeper用于管理HBase集群中各个节点的状态信息,协调各个节点之间的通信和协作,确保集群中各个节点之间的一致性和可靠性。

2. 元数据管理:HBase的元数据信息(如表结构、region分布等)会存储在ZooKeeper中,HBase可以通过ZooKeeper来获取和维护这些元数据信息。

3. 选主机制:HBase集群中的Master节点是由ZooKeeper进行选举产生的,ZooKeeper会负责监控Master节点的状态,并在Master节点发生故障时进行重新选举。

4. 分布式锁管理:ZooKeeper提供了分布式锁的机制,HBase可以利用ZooKeeper来实现分布式锁,确保数据的一致性和并发性。

总结

①、在HBase中,Zookeeper充当了注册中心

②、当HBase启动之后,会自动的在Zookeeper上来注册一个/hbase节点

 进入到Zookeeper客户端 zkCli.sh

ls /

1e3da12a543049cb8b0319025806efd2.png

b25c4109f8f94a6aa0a1da5ce1829b2f.png

4a19671ff6a34d9a90bec1833ee7401c.png

 

③、当Active HMaster启动之后,会自动的在Zookeeper上注册一个临时节点/hbase/master-当Active HMaster宕机之后,这个临时节点就会消失,此时Zookeeper就会从backup-masters节点中选择最早注册的节点来切换为Active状态

④、当Backup HMaster启动之后,会自动的在Zookeeper的/hbase/backup-masters节点上注册一个临时子节点

⑤、当HRegionServer启动之后,也会自动的在Zookeeper的/hbase/rs节点下,来注册子节点

3、HMaster
①、在HBase中,允许用户在任意一台安装了HBase的节点上来启动HMaster,理论上不限制HMaster的数量

②、HMaster启动命令

b25c4109f8f94a6aa0a1da5ce1829b2f.png

查看hbase 注册信息master是有的

4a19671ff6a34d9a90bec1833ee7401c.png

我们kill -9 3048

85c6f919413c45adbb7eab2b14bafe35.png

再查看时发现hbase消失了

0ceca6cf041240a6b4f630f4c2adc7c9.png

hbase-daemon.sh start master

5ddf96c056ea4b3eb469f6079cfd36a4.png

这是发现master又出现了

5011e0edd96a41c3819da1e31f71baae.png

③、在HBase中,如果启动了多个HMaster,那么HMaster之间就会分为Active和Backup两种状态

④、如果启动多个HMaster,那么最先注册到Zookeeper上的HMaster就会成为Active状态,后注册到Zookeeper上的HMaster就会成为Backup状态

⑤、当Active HMaster接收到请求之后,需要考虑将数据同步给其他的Backup HMasters。同步的节点数量越多,此时效率就会越低

⑥、因此在HBase中,虽然理论上不限制HMaster的个数,但是实际过程中,HMaster的个数一般不会超过3个:1个Active HMaster+2个Backup HMasters

⑦、Active HMaster会实时监控Zookeeper上/hbase/backup-masters下的节点变化以确定需要同步的节点是哪几个

⑧、HMaster的作用

Ⅰ、管理HRegionServer。需要注意的是,HMaster对HRegionServer的管理权限并不大,只能决定HRegion交由哪一个HRegionServer来进行管理

Ⅱ、记录和存储元数据。HBase中的元数据包含namespace名、table名、column family名以及属性信息等。注意,在HBase中,列不是元数据,因为列可以动态增删 - 也就意味着凡是产生元数据的操作会经过HMaster,不产生元数据的操作不会经过HMaster。

DDL(Data Defination Language,数据定义语言,例如create/drop等)以及namespace操作会产生元数据

DML(Data Manipulation Language,数据操纵定义,例如put/get/scan/delete等)语言不会产生元数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定谔的猫1981

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值