GitHub項目Storm-HBase介紹

openkk 12年前發布 | 30K 次閱讀 HBase 分布式/云計算/大數據

最近完成了一個GitHub項目:Storm-HBase,該項目是推ter StormApache HBase的結合,它使用HBase cluster作為Storm的Spout數據源,目前只是初步實現,后續會進一步完善。

HBaseSpout根據時間戳范圍[start_timestamp, stop_timestamp],持續不間斷地從HBase cluster讀取流數據:

  • 如果start_timestamp = 0,HBaseSpout將默認從3分鐘前的數據開始讀取并發送到Storm cluster;否則從用戶指定的start_timestamp開始讀取數據。
  • 如果stop_timestamp = 0, HBaseSpout將默認讀取到當前時間的數據,并隨著時間流動持續地讀取新的數據并發送到Storm cluster;否則讀取到用戶指定的stop_timestamp后停止讀取。
  • </ul>

    以上有關[start_timestamp, stop_timestamp]的設計,是為了適應不同的運行模式:

    • 最典型情況下,start_timestamp = 0 and stop_timestamp = 0,則從3分鐘前開始讀取發送數據,然后會同步掃描HBase cluster中的新數據,并發送給Storm cluster,適合用戶實時計算的情景。
    • 出現問題的情況下,例如Storm cluster重啟,計算任務狀態被丟失,此時可能需要能夠Spout進行數據的回傳(data rewind),通過指定[start_timestamp, stop_timestamp]可以滿足這一需求。
    • </ul>

      Storm-HBase力求盡可能做到通用化,因此提取了Storm和HBase的配置信息。有關Storm-HBase的配置選項,可以在 GitHub工程的src/main/resources/storm.properties以及src/main/resources /hbase.properties文件中找到。如果你的HBase表的Schema結構與上述類似,那么只需要進行簡單的配置即可使用Storm- HBase。

      目前的HBaseSpout實現基于以下假設:

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!