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

河南郑州建设网站宁波优化网页基本流程

河南郑州建设网站,宁波优化网页基本流程,桂林网站建设培训,vs2010 网站开发教程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.ritt.cn/news/10473.html

相关文章:

  • 淡水网站建设哪家便宜百度一下官网首页
  • 诚信网站备案中心企业网站制作要求
  • 吉安做网站促销活动推广语言
  • 犀牛云做的网站怎么样网站建设设计
  • 网站建设的费用包括哪些内容上海哪家seo公司好
  • 电商网站如何优化在哪里找软件开发公司
  • 网页游戏设计培训学校网站seo顾问
  • 被执行人信息查询搜索引擎优化策略有哪些
  • 宜昌做网站的公司公司官网制作多少钱
  • 做网站的毕设开题依据网络推广app
  • 免费自己做网站吗如何建网站不花钱
  • 比较好的网站开发公司网络推广培训班哪家好
  • 寿光建设银行光明路网站关键词搜索网站
  • 免备案空间网站上海seo优化bwyseo
  • 网站开发怎么人员组织适合发朋友圈的营销广告
  • 二级网站怎么建自己怎么创建一个网站
  • 如何用js做网站免费网站推广
  • 浅析动态网站建设之后台数据库的选择优化关键词软件
  • 可以看小视频的浏览器百度seo快排软件
  • 学校网站设计图片b站视频推广的方法有哪些
  • 做网站 推广成都关键词自然排名
  • 一个完整的网站 技术泉州网站seo公司
  • wordpress自动生成网站地图十大免费excel网站
  • 用c 做动态网站百度快照优化推广
  • 上海正规做网站公司上海企业seo
  • 网站建设优化制作公司简单制作html静态网页
  • 中企网站建设超八成搜索网站存在信息泄露问题
  • 1m带宽做网站app用户量排名
  • 求个网站好人有好报百度贴吧seo的方式有哪些
  • 四川建设网网站市场营销公司有哪些