9.5 主节点

来源:互联网 发布:数据库工程师 职称 编辑:程序博客网 时间:2024/04/29 04:36

HMater是主服务器的实现。主服务器负责监管集群上的所有RegionServer实例,也是元数据变更的接口。在分布式及群众,主服务器通常运行在命名节点(NameNode)上。

9.5.1 启动行为

如果是多主节点的集群环境,则各个主服务器会通过竞争来管理集群。如果一个活动的主服务器在ZooKeeper上的租约丢失了或主服务器停掉了,那么其余的主服务器将纷纷竞争着接管管理集群的工作。

9.5.2 运行时的影响

一个最常问的问题时,当主服务器停掉时,HBase集群会怎样。因为客户端直接与RegionServer打交道,所以集群仍然可以在一种”稳定状态“在运作。另外,ROOT和META是作为HBase数据表存在的。但是,主服务器要负责一些关键的工作,如RegionServer的故障恢复、完成region分裂等。所以,当尽管集群在没有主服务器仍能运行一段时间,但应该尽快重启主服务器。

9.5.3 接口

HMaterInterface中的方法主要是面向元数据的:

  • Table (createTable, modifyTable, removeTable, enable, disable)
  • ColumnFamily (addColumn, modifyColumn, removeColumn)
  • Region (move, assign, unassign)

例如,当HBaseAdmin调用disableTable方法时,是通过主服务器完成该该工作的。

9.5.4 处理

主服务器会在后台运行多个线程

9.5.4.1 负载均衡

当没有region处于事务(transition)中时,主服务器会周期性的运行和移动region以实现集群的负载均衡。参考Section 2.5.3.1, “Balancer”进行适当的配置。参考 Section 9.7.2, “Region-RegionServer Assignment”查看更多有关region分派的信息。

9.5.4.2 CatalogJanitor

周期性地检测和清理.META.数据表。


http://hbase.apache.org/book/master.html

0 0
原创粉丝点击