zoukankan      html  css  js  c++  java
  • hadoop实战笔记_170816

    在启动的时候,每台HRegion服务器都会检查自己的Hlog文件(Hlog是磁盘上的记录文件,它记录着所有的更新操作),看看最近一次执行flushcache之后有没有新的更新写入操作。如果没有更新,就表示所有的数据都已经更新到文件中了;如果有更新,服务器就会先把这些更新写入高速缓存,然后调用fulshcache写入到文件中。最后服务器会删除旧的Hlog文件,并开始让用户访问数据。

    因此,为了节省时间可以少调用flushcache,但是这样会增加内存的占用量,而且在服务器重启的时候会延长很多时间。如果定期调用flushcache,缓存大小将会控制在一个较低的水平上,而且Hlog文件也会很快重构,但是调用flushcache的时候会造成系统负载瞬间增加。

    Hlog会被定期回滚,回滚的时候是按照时间来备份文件的,每次回滚的时候,系统会删除那些已经被写到文件中的更新,回滚Hlog只会占用很少的时间,建议经常回滚以减少文件尺寸。

    每一次调用flushcache会生成一个新的HstoreFile文件,从一个Hstore里面获取任何一个值都需要访问所有的HstoreFile文件,这会十分耗时,所以我们要定期把这些分散的文件合并到一个大文件里面,Hstore.compact()可以完成合并工作。不过这样的工作十分占用资源,所以只有在HstoreFile文件的数量超过一个设定值的时候才会触发。

    flushcache会建立一个新的HstoreFile文件,并把缓存中所有需要更新的数据写到文件里,在flushcache之后,log的重建次数会清零。

    compact会把所有的HstoreFile文件合并成一个大文件。

    和Bigtable不同的是,HBase的每个更新如果被正确提交,且commit没有返回错误,拿它就被写到记录文件里面了,这不会造成数据丢失。

    两个HRegion可以通过调用HRegion.closeAndMerge()合并成一个新的HRegion,在当前版本下进行此操作需要两台HRegion都停机。

    当一个HRegion变得太过巨大,超过设定的阈值时,HRegion服务器会调用HRegion.closeAndSplit()将此HRegion拆分为两个,并且报告给主服务器让它决定由哪台HRegion服务器来存放新的HRegion。这个拆分过程十分迅速,因为两台新的HRegion最初只是保留原来HRegionFile文件的引用,这个时候旧的HRegion会处于停止服务的状态,当新的HRegion拆分完成并且把引用删除了以后,旧的HRegion才会删除。

    HBase Master服务器

  • 相关阅读:
    SAP PI 如何实现消息定义查询
    EWM与ERP交互程序
    ITS Mobile Template interpretation failed. Template does not exist
    SAP Material Flow System (MFS) 物料流系统简介
    SAP EWM Table list
    EWM RF 屏幕增强
    SAP EWM TCODE list
    SAP扩展仓库管理(SAPEWM)在线研讨会笔记
    ERP与EWM集成配置ERP端组织架构(二)
    EWM RF(Radio Frequency)简介
  • 原文地址:https://www.cnblogs.com/summer-blog/p/7374678.html
Copyright © 2011-2022 走看看