• HBase ttl 验证


    一、HBase 的TTL 应用的需求

           全链路的持久化为HBase的一个应用场景,主要实现的场景描述如下:

      • 公司所有的业务系统的每一次调用过程称之为一次链路 例如: 用户的每次开启充电,从app端的开始调用,到最后充电桩开始将能量输送到车上,这是一个链路
      • 监控系统会将每次链路经过的服务名、服务的参数、响应时间等过程中的信息从每个服务节点采集后,存储到消息队列,消息队列的数据一部分用于链路分析,同时会将原始数据持久化到hbase
      • 针对有问题的预警,监控系统会将对应的链路地址以预警的方式推送到开发人员
      • 开发人员收到预警消息之后,会查询这次链路过程中的原始数据。
        业务处理流程如下:
    • 目前上述场景,每天的写入数据量为2.5T左右,数据条数为15亿左右.由于集群规模不大,并且多个业务公用一套集群,集群的写入和查询压力都比较大,大数据表的读写对集群要求较高,很容易造成集群的不稳定,并且大数据表带来的存储成本也是非常之高的
    • 通过对业务的仅一步分析:
      • 目前hbase保留的业务数据,实际上保留周期7天,就可以满足业务要求,因此hbase中的数据不需要长久保存。基于此,需要开始研究HBase的ttl 验证

    二、TTL技术验证

          目前网上关于TTL的验证,版本较多,有一个比较大的问题是,使用TTL之后,数据是否可以自动删除

         集群信息如下:

            集群一:

                  HBase: 1.1.2

                  存储: HDFS

                 参数:hbase.hregion.majorcompaction  值:0

          集群二:

                 HBase: 1.1.2

                 存储:Azure WASB

                 参数:hbase.hregion.majorcompaction  值:0

       验证过程:

            1.创建表

                

          2.开启TTL
              

             3.开启数据写入,经过验证发现

                  数据可以自动删除

                      表目录和删除的临时目录均可以自动删除

                     /apps/hbase/data/data/default/TTraceTest
                      /apps/hbase/data/archive
     

    总结:

        1.1.1.2 版本的hbase 的表开启ttl之后,数据可以自动删除, 目前在小表上进行了2个小时的验证,下一步将在大表写入上开启较长时间的验证(比如TTL 保留7天)

  • 相关阅读:
    每天学一点MATLAB函数——文件编程函数
    每天学一点MATLAB函数——软件操作函数(1)
    C# 杂记
    ActiveX控件注册与反注册
    First Java Graphic Program
    判断式
    两个仿函数示例
    STL文件的读取与显示
    SQLite数据库(一)
    机器学习--如何理解Accuracy, Precision, Recall, F1 score
  • 原文地址:https://www.cnblogs.com/pbc1984/p/11177854.html
Copyright © 2020-2023  润新知