当前位置:主页 > 泰禾资讯 > 媒体聚集 >
运城软件开发HBase数据库的组成结构
来源:未知 2015-03-06

数据库的应用是每一位软件开发程序员都应该熟练掌握的一个编程技术,而今天我们就通过案例分析来了解一下,HBase数据库的组成结构。

运城软件开发HBase数据库的组成结构

1、Master

Master主要负责表和Region的管理工作。

表的管理工作主要是负责完成增加表、删除表、修改表和查询表等操作。

Region的管理工作更复杂一些,Master需要负责分配Region给RegionServer,协调多个RegionServer,检测各个RegionServer的状态,并平衡RegionServer之间的负载。

当Region分裂或合并之后,Master负责重新调整Region的布局。如果某个RegionServer发生故障,Master需要负责把故障RegionServer上的Region迁移到其他RegionServer上。

HBase允许多个Master结点共存,但是这需要Zookeeper进行协调。当多个Master结点共存时,只有一个Master是提供服务的,其他的Master结点处于待命的状态。当正在工作的Master结点宕机时,其他的Master则会接管HBase的集群。

2、RegionServer

HBase有许多个RegionServer,每个RegionServer又包含多个Region。RegionServer是HBase核心的模块,负责维护Master分配给它的Region集合,并处理对这些Region的读写操作。Client直接与RegionServer连接,并经过通信获取HBase中的数据。

HBase釆用HDFS作为底层存储文件系统,RegionServer需要向HDFS写入数据,并利用HDFS提供可靠稳定的数据存储。RegionServer并不需要提供数据复制和维护数据副本的功能。

3、Zookeeper

Zookeeper的作用对HBase很重要。先,Zookeeper是HBaseMaster的高可用性(HighAvailable,HA)解决方案。也就是说,Zookeeper保证了至少有一个HBaseMaster处于运行状态。

Zookeeper同时负责Region和RegionServer的注册。HBase集群的Master是整个集群的管理者,它必须知道每个RegionServer的状态。

HBase就是使用Zookeeper来管理RegionServer状态的。每个RegionServer都向Zookeeper注册,由Zookeeper实时监控每个RegionServer的状态,并通知给Master。这样,Master就可以通过Zookeeper随时感知各个RegionServer的工作状态。

【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。