当前位置: 首页 > news >正文

河南郑州建设网站安徽网站建设优化推广

河南郑州建设网站,安徽网站建设优化推广,视频网站开发方案,百度地图怎么搜街景Hlog 简介 Hlog是Hbase实现WAL(Write ahead log )方式产生的日志信息 , 内部是一个简单的顺序日志。每个RegionServer对应1个Hlog(备注:1.X版本的可以开启MultiWAL功能,允许对应多个Hlog),所有对于该RegionServer的写入都会被记录到Hlog中。H…

Hlog 简介

        Hlog是Hbase实现WAL(Write ahead log )方式产生的日志信息 , 内部是一个简单的顺序日志。每个RegionServer对应1个Hlog(备注:1.X版本的可以开启MultiWAL功能,允许对应多个Hlog),所有对于该RegionServer的写入都会被记录到Hlog中。Hlog实现的功能就是我们前面讲到的保证数据安全。当RegionServer出现问题的时候,能跟进Hlog来做数据恢复。此外为了保证恢复的效率,Hbase会限制最大保存的Hlog的数量,如果达到Hlog的最大个数的时候,就会触发强制刷盘操作。对于已经刷盘的数据,其对应的Hlog会有一个过期的概念,Hlog过期后,会被监控线程启动到 .oldlogs,然后会被自动删除掉。

Hlog结构

        

  1.  多个Region 共享一个Hlog文件。
  2.  单个Region在Hlog中是按照时间排序顺序存储的。               
  3.  但是多个Region可能并不是完全按照时间顺序存储的.

每个Hlog最小单元由HlogKey和WALEdit 两部分组成 。

HlogKey由sequenceid (Region级别的自增序号)、timestamp(时间戳)、cluster ids(集群id) 、regionname(当前地区名) 以及 tablename(表名) 等组成,

WALEdit是由一系列的keyValue组成,对一行上所有列(即所有KeyValue)的更新操作,都包含在同一个WALEdit对象中,这主要是为了实现写入一行过个列时的原子性。

Hlog 的内部内容

              一、 HlogKey

                        1. sequenceid : 一个store级别的自增序列号 , region的数据恢复和Hlog过期清楚都要依赖于这个信息 

                        2. timestamp

                        3. cluster ids

                        4. regionname

                        5. tablename 

              二、 WAALEids

                        1. n 个 KeyValue

              三、

         sequenceid 的相关逻辑 : MemStore 达到一定的条件会触发刷盘的操作,刷盘的时候会获取刷盘到最新的一个 sequenceid 的下一个 sequenceid , 并将新的 sequenceid 赋值给 oldestUnflushedSequenceId , 并刷到 Hfile中。

        Hlog文件对应所有Region 的 store 中最大的 sequenceid 如果已经刷盘,就认为Hlog 文件已经过期 , 就会移动到 .oldlogs , 等待被移除。

        当RegionServer 出现故障的时候 ,需要对 Hlog 进行回收来恢复数据。回放的时候会读取Hfile 的 oldestUnflushedSequenceId 中的 sequenceid 和 Hlog 中的 sequenceid 进行比较 ,小于 的就直接忽略 , 但大于或者等于的就进行重做。回放完成后,就完成了数据的恢复工作。

Hlog 的生命周期

        产生

                 所有涉及到数据的变更都会先写到Hlog ,除非是关闭了Hlog。

        滚动

               Hlog 的大小通过参数 hbase.regionserver.logroll.period 控制 , 默认是1小时,时间达到hbase.regionserver.logroll.period 设置的时间,Hbase会创建一个新的Hlog文件。这就实现了 Hlog 滚动的目的 。Hbase 通过hbase.regionserver.maxlog参数控制Hlog的个数。滚动的目的,为了控制单个Hlog文件过大的情况,方便后续的过期和删除。

        过期

               Hlog 的过期判断依赖于 sequenceid。Hbase 会将 Hlog 的  sequenceid 和 Hfile 最大的 sequenceid 进行比较 , 如果该 Hlog 文件中的 sequenceid 比刷新的最新的位置的 sequenceid 都要小,那么这个Hlog 就过期了 , 过期以后,对应的Hlog 会被移动到  .oldlogs目录。

        删除          

               如果Hbase 开启了 replication(复制) ,  当 replication执行完一个Hlog 的时候,会删除 Zookeeper 上对应Hlog 节点。 在 Hlog 被移动到 .oldlogs目录下的所有Hlog,确认对应的Zookeeper 的 Hlog 节点是否被删除,如果Zookeeper 上不存在对应的 Hlog 节点 ,那么就直接删除对应的Hlog. 

                hbase.master.logcleaner.ttl (默认10分钟)这个参数设置 Hlog 在 .oldlogs 目录保留的最长时间。

RegionServer的故障恢复

           我们知道,RegionServer 的相关信息保存在 ZK 中,在 RegionServer 启动的时候,会在Zookeeper 中创建对应的临时节点。 RegionServer 通过 Socket 和 Zookeeper 建立 session 会话,RegionServer 会周期性的向Zookeeper 发送Ping 消息包 , 以此说明自己还处于存活的状态。 而Zookeeper 收到 ping 包后,则更新对应 session的超时时间。

        当Zookeeper 超过session 超时时间还没有收到 RegionServer 的 ping 包,则Zookeeper 会认为该 RegionServer 出现故障 , ZK会将该RegionServer 对应的临时节点删除,并通知Master, Master 收到 RegionServer 挂掉的信息后就会启动数据恢复的流程。     

http://www.yidumall.com/news/3060.html

相关文章:

  • 陕西省交通建设公司网站高端seo服务
  • 做网站的高手爱战网关键词挖掘
  • 政府邀请招标网站建设文件范本谷歌搜索入口365
  • wordpress文件大小搜索seo怎么优化
  • 宁波网站建设慕枫科技精准营销案例
  • 大连网站设计收费标准百度小说app
  • 建站技术分享seo关键词如何设置
  • 怎么做简易网站幽默软文经典案例300
  • 用手机如何做网站seo西安
  • 商城网站建设资讯百度收录在线提交
  • 做网站公司 晨旭东方百度seo排名360
  • 太平洋在线建站系统今天的新闻主要内容
  • 怎么能自己做网站实训百度搜索引擎的总结
  • 高邮网站建设深圳开发公司网站建设
  • 受和攻不停的做漫画网站如何提高网站的搜索排名
  • 怎么做公司内网网站在线制作网页网站
  • 营销型集团网站山东关键词网络推广
  • 网站实名审核网页模板免费下载网站
  • 做旅游网站设计的感想国际军事新闻最新消息
  • 官网源码下载seo关键词排名优化品牌
  • 一条龙建站多少钱百度关键词怎么做
  • 有哪些好的做网站公司简述网站建设的基本流程
  • 在线音乐网站开发数据库如何在网上推广产品
  • 网站投放广告教程友情链接多久有效果
  • 网站正在建设中页面 英文百度seo引流怎么做
  • 手机怎么做图纸设计seo整站优化吧
  • 最新网站信息网络营销概述
  • 东莞网站建设百度地图产品推广怎么做
  • bootstrap个人网站模板软文推广广告公司
  • 网站开发的课程百度推广账号怎么注册