- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE3 / NUMPAGES3
文档数据库MongoDB查询
Region管理
摘要:通过此文档来了解如何管理Hbase数据存储和管理的基本单位Region。
关键字:Region;
1. HBase架构组件
物理上,HBase由主从属类型的体系结构中的三种类型的服务器组成。区域服务器为读取和写入提供数据。访问数据时,客户端直接与HBase RegionServers通信。区域分配,DDL(创建,删除表)操作由HBase主进程处理。Zookeeper是HDFS的一部分,它维护一个实时集群状态。
Hadoop DataNode存储Region Server正在管理的数据。所有HBase数据都存储在HDFS文件中。区域服务器与HDFS DataNode并置,后者支持RegionServers服务的数据的数据位置(将数据放在需要的位置附近)。HBase数据在写入时是本地数据,但是当移动某个区域时,它在压缩之前不是本地的。
NameNode维护组成文件的所有物理数据块的元数据信息。
图1 HBase架构组件
1.1 Regions
HBase表按行键水平分为“区域”。区域包含区域的开始键和结束键之间的表中的所有行。Regions被分配给集群中的节点,称为“Region Servers”,它们为读取和写入提供数据。区域服务器可以服务大约1,000个Regions。
图2 Region Servers集群管理
1.2 HBase HMaster
HBase Master处理区域分配,DDL(创建,删除表)等操作。主要负责协调Region Servers:(1)在启动时分配区域,重新分配区域以进行恢复或负载平衡、(2)监控集群中的所有RegionServer实例(侦听来自zookeeper的通知)。管理功能:用于创建,删除,更新表的界面。
图3 HBase Hmaster管理
1.3 ZooKeeper:协调员
HBase使用ZooKeeper作为分布式协调服务来维护集群中的服务器状态。Zookeeper维护哪些服务器处于活动状态且可用,并提供服务器故障通知。Zookeeper使用共识来保证共同的共享状态。请注意,应该有三到五台机器达成共识。
图4 ZooKeeper分布式协调服务
2. 组件如何协同工作
Zookeeper用于协调分布式系统成员的共享状态信息。区域服务器和活动HMaster连接到ZooKeeper的会话。ZooKeeper通过心跳保持活动会话的短暂节点。
图5 Zookeeper协调工作
每个Region Server都会创建一个临时节点。HMaster监视这些节点以发现可用的区域服务器,并且还监视这些节点以查找服务器故障。HMasters争相创建一个短暂的节点。Zookeeper确定第一个并使用它来确保只有一个主服务器处于活动状态。活动HMaster向Zookeeper发送心跳,非活动HMaster监听活动HMaster故障的通知。
如果区域服务器或活动HMaster未能发送心跳,则会话过期并删除相应的短暂节点。将通知已删除节点的更新侦听器。活动HMaster侦听区域服务器,并在失败时恢复区域服务器。非活动HMaster监听活动HMaster故障,如果活动HMaster失败,则非活动HMaster变为活动状态。
3. Region Servers组件
区域服务器在HDFS数据节点上运行,并具有以下组件:
WAL:Write Ahead Log是分布式文件系统上的文件。WAL用于存储尚未持久存储到永久存储的新数据;?它用于在发生故障时进行恢复。
BlockCache:是读缓存。它将频繁读取的数据存储在内存中。至少最近使用的数据在完整时被逐出。
MemStore:是写缓存。它存储尚未写入磁盘的新数据。在写入磁盘之前对其进行排序。每个区域每个列族有一个MemStore。
Hfiles将行存储为磁盘上的排序KeyValues。
图6 Region Servers数据存储
3.1 HBase写步骤(1)
当客户端发出Put请求时,第一步是将数据写入预写日志WAL:(1)编辑附加到存储在磁盘上的WAL文件的末尾、(2)WAL用于在服务器崩溃时恢复尚未保留的数据。
图7 Hbase写数据
3.2 HBase写步骤(2)
将数据写入WAL后,将其放入MemStore中。然后,put请求确认返回给客户端。
图8 Hbase写数据
您可能关注的文档
- 大豆栽培技术 苗期、分枝期田间管理 大豆小地老虎发生及防治措施技术手册.docx
- 大气环境治理技术 大气环境治理技术 教案 第09周.docx
- 移动应用开发基础实训-2017 输入密码对话框图形化界面 输入密码对话框图形化界面实训(实 验) 报 告.doc
- 大食品微创业 拓展训练 国内饮品店经营模式分析.doc
- 移动应用软件开发(基于Android平台)-2017 ListView列表组件 ListView 的使用.docx
- 大数据技术应用 甘特图实现数据可视化 甘特图实现数据可视化电子教案.doc
- 移动应用软件开发(基于Android平台)-2017 申请密钥 申请百度地图密钥-v2.0.docx
- 大数据技术应用(国家) 知识点2:Hadoop核心组件简介 Hadoop核心组件简介.docx
- 移动应用软件开发(基于iOS平台)-2017 系统优点 macOS系统优点 文档.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 iOS苹果地图MapKit框架使用 API Reference 系列 之Mapkit解析.docx
文档评论(0)