HBase 上的 ZooKeeper 基本配置 |主要子节点创建
HBase 上的 ZooKeeper 基本配置
部署和运行分布式 HBase 集群很大程度上依赖于 ZooKeeper。在目前的HBase系统实现中,ZooKeeper扮演着非常重要的角色。 。在配置文件conf/
- 中配置ZooKeeper相关的几个重要配置项:必须配置ZooKeeper集群地址。此项默认为 localhost。
- :默认值为2181,无需配置。
- :默认为/hbase,无需配置。
- :显示RegionServer与ZooKeeper之间的会话超时情况。当会话过期时,ZooKeeper会感知到并通知Master将相应的Region Server移出集群,并将所有RegionServer Region转移到集群中的其他Region Server。
启动HBase集群后,使用客户端进行读写操作时还需要配置上述ZooKeeper相关参数
在ZooKeeper中创建的HBase主子节点
metaserver区域:存储HBase集群hbase:元数据表所在RegionServer的访问地址。客户端读写数据时,首先从该节点读取hbase:meta元数据访问地址,在本地加载一些元数据,并根据元数据进行数据路由。 rs:集群中运行的所有区域服务器。 2 可用功能。主节点是集群的对外服务管理服务器,备份主节点下的子节点是集群的备份节点。如果对外服务主节点出现异常,备份主节点可以通过选举切换为主节点,继续对外提供服务。服务。需要说明的是,备份主节点可以有一个,也可以有多个。 table:集群中所有表信息。 region-in-transition:(该路径已弃用)在当前的HBase系统实现中,Region迁移是一个非常复杂的过程。首先对该region执行unassign操作,将region从open变为offline(包括PENDING_CLOSED、CLOSED、CLOSED等过渡状态),然后在目标region server上执行分配操作,将region从offline变为open 。 。这个过程需要将这个区域的各种状态保存到Master中。目前,RegionServer 通过 ZooKeeper 向 Master 通知这些状态。当某个区域发生取消分配操作时,会在该节点下创建一个子节点。子节点的内容是事件“event”的有序字符串,master 监听这个子节点,当任何事件发生时,manager 监听并更新该区域的状态。 RegionServer 在过渡区域中改变区域的状态。 Master监控相应的ZooKeeper节点,在Region状态发生变化后立即通知它。一旦收到通知,主节点就会更新 hbase:meta 和内存中区域的状态。地位。 表锁:HBase系统使用ZooKeeper相关机制来实现分布式锁。 HBase表中的数据作为Region存在于多个RegionServer中,因此表DDL操作(创建、删除、更新等)通常是分布式操作。在执行每个DDL操作之前,必须先获取对应表的表锁,以避免多个DDL操作之间发生冲突。这个表锁是分布式锁。分布式锁可以使用ZooKeeper的相应功能来实现,这里不再赘述。 Online-snapshot:用于实现在线快照操作。表级在线快照也是分布式操作。必须为目标表的每个区域拍摄快照。只有大家都成功之后,才能带回成功。管理器作为主节点,向每个相关的区域服务器发出快照命令。对应的RegionServer对目标Region进行快照,如果成功则通知管理器。Master发出快照命令,RegionServer通过ZooKeeper转发快照结果。 • replication:(该路径已弃用)用于实现HBase的复制功能。 splitWAL
恢复区域:(此路径已弃用)
用于实现HBase分布式故障转移。为了加快集群故障的恢复速度,HBase实现了分布式故障转移,允许集群中的所有RegionServer参与非重播日志共享。 ZooKeeper是Master和RegionServer之间的协调节点。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。