HBase ttl 驗證

1、HBase 的TTL 應用的需求app

       全鏈路的持久化爲HBase的一個應用場景,主要實現的場景描述以下:大數據

    • 公司全部的業務系統的每一次調用過程稱之爲一次鏈路 例如: 用戶的每次開啓充電,從app端的開始調用,到最後充電樁開始將能量輸送到車上,這是一個鏈路
    • 監控系統會將每次鏈路通過的服務名、服務的參數、響應時間等過程當中的信息從每一個服務節點採集後,存儲到消息隊列,消息隊列的數據一部分用於鏈路分析,同時會將原始數據持久化到hbase
    • 針對有問題的預警,監控系統會將對應的鏈路地址以預警的方式推送到開發人員
    • 開發人員收到預警消息以後,會查詢此次鏈路過程當中的原始數據。
      業務處理流程以下:

       

  • 目前上述場景,天天的寫入數據量爲2.5T左右,數據條數爲15億左右.因爲集羣規模不大,而且多個業務公用一套集羣,集羣的寫入和查詢壓力都比較大,大數據表的讀寫對集羣要求較高,很容易形成集羣的不穩定,而且大數據錶帶來的存儲成本也是很是之高的
  • 經過對業務的僅一步分析:
    • 目前hbase保留的業務數據,實際上保留週期7天,就能夠知足業務要求,所以hbase中的數據不須要長久保存。基於此,須要開始研究HBase的ttl 驗證

2、TTL技術驗證blog

      目前網上關於TTL的驗證,版本較多,有一個比較大的問題是,使用TTL以後,數據是否能夠自動刪除隊列

     集羣信息以下:開發

        集羣一:消息隊列

              HBase: 1.1.2io

              存儲: HDFS集羣

             參數:hbase.hregion.majorcompaction  值:0監控

      集羣二:im

             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天)

相關文章
相關標籤/搜索