好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 10大HBase常見運維工具整理小結

10大HBase常見運維工具整理小結

熱門標簽:網站上插入地圖標注內容 地圖標注企業名稱侵權案件 繽客網注冊時地圖標注出不來 工廠位置地圖標注 400電話辦理哪家好廠商 鶴壁電銷外呼系統怎么安裝 重慶營銷外呼系統排名 企業400電話辦理哪正規 地圖標注需要現場嗎

摘要:HBase自帶許多運維工具,為用戶提供管理、分析、修復和調試功能。本文將列舉一些常用HBase工具,開發人員和運維人員可以參考本文內容,利用這些工具對HBase進行日常管理和運維。

HBase組件介紹

HBase作為當前比較熱門和廣泛使用的NoSQL數據庫,由于本身設計架構和流程上比較復雜,對大數據經驗較少的運維人員門檻較高,本文對當前HBase上已有的工具做一些介紹以及總結。

寫在前面的說明:

1) 由于HBase不同版本間的差異性較大(如HBase2.x上移走了hbck工具),本文使用的所有命令行運行的環境為MRS_1.9.3,對應的HBase版本為1.3.1,部分命令在HBase2上不支持(有時間的話會對HBase2做單獨的介紹)。

2) 本文所涉及的HBase工具均為開源自帶工具,不涉及廠商自研的優化和運維工具。

Canary工具

HBase Canary是檢測HBase集群當前狀態的工具,用簡單的查詢來檢查HBASE上的region是否可用(可讀)。它主要分為兩種模式

1) region模式(默認),對每個region下每個CF隨機查詢一條數據,打印是否成功以及查詢時延。

#對t1和tsdb-uid表進行檢查
  hbase org.apache.hadoop.hbase.tool.Canary t1 tsdb-uid
  #注意:不指定表時掃所有region

2) regionserver模式,對每個regionserver上隨機選一個表進行查詢,打印是否成功以及查詢時延。

#對一個regionserver進行檢查
  hbase org.apache.hadoop.hbase.tool.Canary -regionserver node-ana-coreQZLQ0002.1432edca-3d6f-4e17-ad52-098f2adde2e6.com
  #注意:不指定regionserver時掃所有regionserver

Canary還可以指定一些簡單的參數,可以參考如下

總結:

  • 對集群影響:2星(只是簡單的讀操作,region個數極多的時候會占用少部分請求吞吐)
  • 實用性:2星

HFile工具

HBase HFile查看工具,主要用來檢查當前某個具體的HFile的內容/元數據。當業務上發現某個region無法讀取,在regionserver上由于文件問題無法打開region或者讀取某個文件出現異常時,可用此工具單獨來檢查HFile是否有問題

#查看t1表下的其中一個HFile的詳情,打印KV
hbase org.apache.hadoop.hbase.io.hfile.HFile -v -m -p -f /hbase/data/default/t1/4dfafe12b749999fdc1e3325f22794d0/cf1/06e102be436c449693734b222b9e9aab

使用參數如下:

總結:

  • 對集群影響:1星(此工具不走HBase通道,只是單純的讀取文件,不影響集群)
  • 實用性:4星(可精確判斷具體的HFile內容是否有問題)

RowCounter和CellCounter工具

RowCounter 是用MapReduce任務來計算表行數的一個統計工具。而和 RowCounter類似,但會收集和表相關的更細節的統計數據,包括:表的行數、列族數、qualifier數以及對應出現的次數等。兩個工具都可以指定row的起止位置和timestamp來進行范圍查詢

# RowCounter掃描t1
hbase org.apache.hadoop.hbase.mapreduce.RowCounter t1
#用CellCounter掃描t1表并將結果寫入HDFS的/tmp/t1.cell目錄
hbase org.apache.hadoop.hbase.mapreduce.CellCounter t1 /tmp/t1.cell

使用參數如下:

總結:

對集群影響:3星(需要起MapReduce對表所有region進行scan,占用集群資源)

實用性:3星(HBase統計自身表行數的唯一工具, hbase shell中count效率比較低)

Clean工具

clean命令是用來清除HBase在ZooKeeper合HDFS上數據的工具。當集群想清理或鏟除所有數據時,可以讓HBase恢復到最初的狀態。

#清除HBase下的所有數據
hbase clean --cleanAll使用參數如下:

總結:

對集群影響:5星(刪除HBase集群上所有數據)

實用性:2星(除開需要重新設置HBase數據的場景如要切換到HBase on OBS,平時很少會用到)

HBCK工具

HBase的hbck工具是日常運維過程中使用最多的工具,它可以檢查集群上region的一致性。由于HBase的RIT狀態較復雜也最容易出現問題,日常運維過程中經常會遇到region不在線/不一致等問題,此時就可以根據hbck不同的檢查結果使用相應的命令進行修復。

#檢查t1表的region狀態
hbase hbck t1
#修復t1表的meta并重新assign分配
hbase hbck -fixMeta -fixAssignments t1

由于該工具使用的場景太多太細,此處就不作展開介紹了,可以查看參數的描述來對各種異常場景進行修復。注意:在不清楚異常原因的情況下,千萬不要亂使用修復命令病急亂投醫,很有可能會使問題本身更糟糕。

使用參數如下:

總結:

  • 對集群影響:4星(個別meta相關命令對集群影響極大)
  • 實用性:5星(hbck是HBase運維人員的最基本運維工具)

RegionSplitter工具

RegionSplitter是HBase的Pre-splitting工具,在table初始化的時候如果不配置pre-split的話,HBase不知道如何去split region,這就很大可能會造成后續的region/regionserver的熱點,最好的辦法就是首先預測split的切分點,在建表的時候做pre-splitting,保證一開始的業務訪問總體負載均衡。RegionSplitter能夠通過具體的split算法在建表的時候進行pre-split,自帶了兩種算法:

HexStringSplit

使用8個16進制字符來進行split,適合row key是十六進制的字符串(ASCII)作為前綴的時候

UniformSplit

使用一個長度為8的byte數組進行split,按照原始byte值(從0x00~0xFF)右邊以00填充。以這種方式分區的表在Put數據的時候需要對rowkey做一定的修飾, 比如原來的rowkey為rawStr,則需要對其取hashCode,然后進行按照byte位反轉后放在最初rowkey串的前面

#創建test_table表,并使用HexStringSplit算法預分區10個
hbase org.apache.hadoop.hbase.util.RegionSplitter test_table HexStringSplit -c 10 -f f1
#Tips:此操作等價于在hbase shell中create ' test_table ', { NAME => 'f1'},{NUMREGIONS => 10, SPLITALGO => 'HexStringSplit'}

總結:

不管是HBase自帶的哪一種pre-split算法,都是建立在表數據本身的rowkey符合它約定格式的條件下,實際用戶還是需要按業務來設計rowkey,并實現自己的pre-split算法(實現SplitAlgorithm接口)

對集群影響:1星(創建表操作,不影響其他集群業務)

實用性:3星(實際pre-split都是按實際業務來的,對于測試來說可以使用HBase默認的split算法來構造rowkey格式)

FSHLog工具

FSHLog是HBase自帶的一個WALs文件檢查和split工具,它主要分為兩部分功能

dump

將某個WAL文件中的內容dump出來具體的內容

split

觸發某個WAL文件夾的WAL split操作

#dump出某個當前的WALs文件中的內容
hbase org.apache.hadoop.hbase.regionserver.wal.FSHLog --dump /hbase/WALs/node-ana-coreqzlq0002.1432edca-3d6f-4e17-ad52-098f2adde2e6.com,16020,1591846214733/node-ana-coreqzlq0002.1432edca-3d6f-4e17-ad52-098f2adde2e6.com%2C16020%2C1591846214733.1592184625801

相關參數

總結:

  • 對集群影響:2星(觸發的WAL split操作會對相應的Worker節點增加少量的負載,當需要split的WAL極大時,會對region級別的業務有影響)
  • 實用性:4星(可以很好的檢查WAL內容的準確性,以及適用于WAL搬遷的場景)

WALPlayer工具

WALPlayer是一個將WAL文件中的log回放到HBase的工具。可以通過對某個表或者所有表進行數據回放,也可以指定相應的時間區間等條件進數據回放。

#回放一個WAL文件的數據到表t1
hbase org.apache.hadoop.hbase.mapreduce.WALPlayer /tmp/node-ana-coreqzlq0002.1432edca-3d6f-4e17-ad52-098f2adde2e6.com%2C16020%2C1591846214733.1592184625801 t1

Q&A:FSHLog和WALPlayer都能將WAL文件中的數據恢復到HBase中,有什么差異區別?

FSHLog是觸發WAL split請求到HMaster中,會對WAL中的所有數據恢復到HBase,走的是HBase自己的WAL split流程。而WALPlayer是本身起MR任務來掃WAL文件中的數據,對符合條件的數據put到特定的表中或輸出HFile到特定目錄

相關參數:

總結:

  • 對集群影響:3星(起MR任務會占用部分集群資源)
  • 實用性:4星(在某些特定的場景下實用性很高,如replication預同步,表數據恢復)

OfflineMetaRepair工具

OfflineMetaRepair工具由于修復HBase的元數據。它會基于HBase在HDFS上的region/table元數據,重建HBase元數據。

#重新建立hbase的元數據
hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair

Q&A:hbck的fixMeta同樣可以修復HBase的元數據,還能指定具體的表使用更加靈活,還有必要使用OfflineMetaRepair?

hbck工具是HBase的在線修復工具,如果HBase沒有啟動是無法使用的。OfflineMetaRepair是在離線狀態修復HBase元數據

相關參數:

總結:

  • 對集群影響:5星(備份原始元數據表后,會重建HBase元數據)
  • 實用性:4星(當HBase由于元數據原因無法啟動時,此工具可以恢復HBase)

Sweeper工具

Sweeper工具(HBASE-11644)可以合并HBase集群中小的MOB文件并刪除冗余的MOB文件。它會基于Column Family起相應的SweepJob任務來對相應的MOB文件進行合并。注意,此工具不能與MOB的major compaction同時運行,并且同一個Column Family的Sweeper任務不能同時有多個一起運行。

#對t1表執行Sweeper
hbase org.apache.hadoop.hbase.mob.mapreduce.Sweeper t1 cf1

相關參數:

總結:

  • 對集群影響:5星(合并MOB任務會占用大量的Yarn資源和IO,對業務影響很大)
  • 實用性:2星(只適合MOB場景,使用MOB會存在HMaster上compact的瓶頸暫不推薦(社區HBASE3上才支持,相關jira HBASE-22749))

以上就是此次介紹的所有HBase運維工具,其他的如Bulkload批量導入,數據遷移,測試相關的pe等暫不描述。如果有寫的不對的請指正,多謝。

官方文檔:https://hbase.apache.org/book.html

到此這篇關于10大HBase常見運維工具整理小結的文章就介紹到這了,更多相關HBase 運維工具內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:日照 棗莊 東莞 渭南 96 鹽城 克拉瑪依 常州

巨人網絡通訊聲明:本文標題《10大HBase常見運維工具整理小結》,本文關鍵詞  大,HBase,常見,運維,工具,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《10大HBase常見運維工具整理小結》相關的同類信息!
  • 本頁收集關于10大HBase常見運維工具整理小結的相關信息資訊供網民參考!
  • 推薦文章