濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 10大HBase常見運(yùn)維工具整理小結(jié)

10大HBase常見運(yùn)維工具整理小結(jié)

熱門標(biāo)簽:網(wǎng)站上插入地圖標(biāo)注內(nèi)容 地圖標(biāo)注企業(yè)名稱侵權(quán)案件 繽客網(wǎng)注冊(cè)時(shí)地圖標(biāo)注出不來(lái) 工廠位置地圖標(biāo)注 400電話辦理哪家好廠商 鶴壁電銷外呼系統(tǒng)怎么安裝 重慶營(yíng)銷外呼系統(tǒng)排名 企業(yè)400電話辦理哪正規(guī) 地圖標(biāo)注需要現(xiàn)場(chǎng)嗎

摘要:HBase自帶許多運(yùn)維工具,為用戶提供管理、分析、修復(fù)和調(diào)試功能。本文將列舉一些常用HBase工具,開發(fā)人員和運(yùn)維人員可以參考本文內(nèi)容,利用這些工具對(duì)HBase進(jìn)行日常管理和運(yùn)維。

HBase組件介紹

HBase作為當(dāng)前比較熱門和廣泛使用的NoSQL數(shù)據(jù)庫(kù),由于本身設(shè)計(jì)架構(gòu)和流程上比較復(fù)雜,對(duì)大數(shù)據(jù)經(jīng)驗(yàn)較少的運(yùn)維人員門檻較高,本文對(duì)當(dāng)前HBase上已有的工具做一些介紹以及總結(jié)。

寫在前面的說(shuō)明:

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

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

Canary工具

HBase Canary是檢測(cè)HBase集群當(dāng)前狀態(tài)的工具,用簡(jiǎn)單的查詢來(lái)檢查HBASE上的region是否可用(可讀)。它主要分為兩種模式

1) region模式(默認(rèn)),對(duì)每個(gè)region下每個(gè)CF隨機(jī)查詢一條數(shù)據(jù),打印是否成功以及查詢時(shí)延。

#對(duì)t1和tsdb-uid表進(jìn)行檢查
  hbase org.apache.hadoop.hbase.tool.Canary t1 tsdb-uid
  #注意:不指定表時(shí)掃所有region

2) regionserver模式,對(duì)每個(gè)regionserver上隨機(jī)選一個(gè)表進(jìn)行查詢,打印是否成功以及查詢時(shí)延。

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

Canary還可以指定一些簡(jiǎn)單的參數(shù),可以參考如下

總結(jié):

  • 對(duì)集群影響:2星(只是簡(jiǎn)單的讀操作,region個(gè)數(shù)極多的時(shí)候會(huì)占用少部分請(qǐng)求吞吐)
  • 實(shí)用性:2星

HFile工具

HBase HFile查看工具,主要用來(lái)檢查當(dāng)前某個(gè)具體的HFile的內(nèi)容/元數(shù)據(jù)。當(dāng)業(yè)務(wù)上發(fā)現(xiàn)某個(gè)region無(wú)法讀取,在regionserver上由于文件問(wèn)題無(wú)法打開region或者讀取某個(gè)文件出現(xiàn)異常時(shí),可用此工具單獨(dú)來(lái)檢查HFile是否有問(wèn)題

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

使用參數(shù)如下:

總結(jié):

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

RowCounter和CellCounter工具

RowCounter 是用MapReduce任務(wù)來(lái)計(jì)算表行數(shù)的一個(gè)統(tǒng)計(jì)工具。而和 RowCounter類似,但會(huì)收集和表相關(guān)的更細(xì)節(jié)的統(tǒng)計(jì)數(shù)據(jù),包括:表的行數(shù)、列族數(shù)、qualifier數(shù)以及對(duì)應(yīng)出現(xiàn)的次數(shù)等。兩個(gè)工具都可以指定row的起止位置和timestamp來(lái)進(jìn)行范圍查詢

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

使用參數(shù)如下:

總結(jié):

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

實(shí)用性:3星(HBase統(tǒng)計(jì)自身表行數(shù)的唯一工具, hbase shell中count效率比較低)

Clean工具

clean命令是用來(lái)清除HBase在ZooKeeper合HDFS上數(shù)據(jù)的工具。當(dāng)集群想清理或鏟除所有數(shù)據(jù)時(shí),可以讓HBase恢復(fù)到最初的狀態(tài)。

#清除HBase下的所有數(shù)據(jù)
hbase clean --cleanAll使用參數(shù)如下:

總結(jié):

對(duì)集群影響:5星(刪除HBase集群上所有數(shù)據(jù))

實(shí)用性:2星(除開需要重新設(shè)置HBase數(shù)據(jù)的場(chǎng)景如要切換到HBase on OBS,平時(shí)很少會(huì)用到)

HBCK工具

HBase的hbck工具是日常運(yùn)維過(guò)程中使用最多的工具,它可以檢查集群上region的一致性。由于HBase的RIT狀態(tài)較復(fù)雜也最容易出現(xiàn)問(wèn)題,日常運(yùn)維過(guò)程中經(jīng)常會(huì)遇到region不在線/不一致等問(wèn)題,此時(shí)就可以根據(jù)hbck不同的檢查結(jié)果使用相應(yīng)的命令進(jìn)行修復(fù)。

#檢查t1表的region狀態(tài)
hbase hbck t1
#修復(fù)t1表的meta并重新assign分配
hbase hbck -fixMeta -fixAssignments t1

由于該工具使用的場(chǎng)景太多太細(xì),此處就不作展開介紹了,可以查看參數(shù)的描述來(lái)對(duì)各種異常場(chǎng)景進(jìn)行修復(fù)。注意:在不清楚異常原因的情況下,千萬(wàn)不要亂使用修復(fù)命令病急亂投醫(yī),很有可能會(huì)使問(wèn)題本身更糟糕。

使用參數(shù)如下:

總結(jié):

  • 對(duì)集群影響:4星(個(gè)別meta相關(guān)命令對(duì)集群影響極大)
  • 實(shí)用性:5星(hbck是HBase運(yùn)維人員的最基本運(yùn)維工具)

RegionSplitter工具

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

HexStringSplit

使用8個(gè)16進(jìn)制字符來(lái)進(jìn)行split,適合row key是十六進(jìn)制的字符串(ASCII)作為前綴的時(shí)候

UniformSplit

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

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

總結(jié):

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

對(duì)集群影響:1星(創(chuàng)建表操作,不影響其他集群業(yè)務(wù))

實(shí)用性:3星(實(shí)際pre-split都是按實(shí)際業(yè)務(wù)來(lái)的,對(duì)于測(cè)試來(lái)說(shuō)可以使用HBase默認(rèn)的split算法來(lái)構(gòu)造rowkey格式)

FSHLog工具

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

dump

將某個(gè)WAL文件中的內(nèi)容dump出來(lái)具體的內(nèi)容

split

觸發(fā)某個(gè)WAL文件夾的WAL split操作

#dump出某個(gè)當(dāng)前的WALs文件中的內(nèi)容
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

相關(guān)參數(shù)

總結(jié):

  • 對(duì)集群影響:2星(觸發(fā)的WAL split操作會(huì)對(duì)相應(yīng)的Worker節(jié)點(diǎn)增加少量的負(fù)載,當(dāng)需要split的WAL極大時(shí),會(huì)對(duì)region級(jí)別的業(yè)務(wù)有影響)
  • 實(shí)用性:4星(可以很好的檢查WAL內(nèi)容的準(zhǔn)確性,以及適用于WAL搬遷的場(chǎng)景)

WALPlayer工具

WALPlayer是一個(gè)將WAL文件中的log回放到HBase的工具??梢酝ㄟ^(guò)對(duì)某個(gè)表或者所有表進(jìn)行數(shù)據(jù)回放,也可以指定相應(yīng)的時(shí)間區(qū)間等條件進(jìn)數(shù)據(jù)回放。

#回放一個(gè)WAL文件的數(shù)據(jù)到表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文件中的數(shù)據(jù)恢復(fù)到HBase中,有什么差異區(qū)別?

FSHLog是觸發(fā)WAL split請(qǐng)求到HMaster中,會(huì)對(duì)WAL中的所有數(shù)據(jù)恢復(fù)到HBase,走的是HBase自己的WAL split流程。而WALPlayer是本身起MR任務(wù)來(lái)掃WAL文件中的數(shù)據(jù),對(duì)符合條件的數(shù)據(jù)put到特定的表中或輸出HFile到特定目錄

相關(guān)參數(shù):

總結(jié):

  • 對(duì)集群影響:3星(起MR任務(wù)會(huì)占用部分集群資源)
  • 實(shí)用性:4星(在某些特定的場(chǎng)景下實(shí)用性很高,如replication預(yù)同步,表數(shù)據(jù)恢復(fù))

OfflineMetaRepair工具

OfflineMetaRepair工具由于修復(fù)HBase的元數(shù)據(jù)。它會(huì)基于HBase在HDFS上的region/table元數(shù)據(jù),重建HBase元數(shù)據(jù)。

#重新建立hbase的元數(shù)據(jù)
hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair

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

hbck工具是HBase的在線修復(fù)工具,如果HBase沒有啟動(dòng)是無(wú)法使用的。OfflineMetaRepair是在離線狀態(tài)修復(fù)HBase元數(shù)據(jù)

相關(guān)參數(shù):

總結(jié):

  • 對(duì)集群影響:5星(備份原始元數(shù)據(jù)表后,會(huì)重建HBase元數(shù)據(jù))
  • 實(shí)用性:4星(當(dāng)HBase由于元數(shù)據(jù)原因無(wú)法啟動(dòng)時(shí),此工具可以恢復(fù)HBase)

Sweeper工具

Sweeper工具(HBASE-11644)可以合并HBase集群中小的MOB文件并刪除冗余的MOB文件。它會(huì)基于Column Family起相應(yīng)的SweepJob任務(wù)來(lái)對(duì)相應(yīng)的MOB文件進(jìn)行合并。注意,此工具不能與MOB的major compaction同時(shí)運(yùn)行,并且同一個(gè)Column Family的Sweeper任務(wù)不能同時(shí)有多個(gè)一起運(yùn)行。

#對(duì)t1表執(zhí)行Sweeper
hbase org.apache.hadoop.hbase.mob.mapreduce.Sweeper t1 cf1

相關(guān)參數(shù):

總結(jié):

  • 對(duì)集群影響:5星(合并MOB任務(wù)會(huì)占用大量的Yarn資源和IO,對(duì)業(yè)務(wù)影響很大)
  • 實(shí)用性:2星(只適合MOB場(chǎng)景,使用MOB會(huì)存在HMaster上compact的瓶頸暫不推薦(社區(qū)HBASE3上才支持,相關(guān)jira HBASE-22749))

以上就是此次介紹的所有HBase運(yùn)維工具,其他的如Bulkload批量導(dǎo)入,數(shù)據(jù)遷移,測(cè)試相關(guān)的pe等暫不描述。如果有寫的不對(duì)的請(qǐng)指正,多謝。

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

到此這篇關(guān)于10大HBase常見運(yùn)維工具整理小結(jié)的文章就介紹到這了,更多相關(guān)HBase 運(yùn)維工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《10大HBase常見運(yùn)維工具整理小結(jié)》,本文關(guān)鍵詞  大,HBase,常見,運(yùn)維,工具,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《10大HBase常見運(yùn)維工具整理小結(jié)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于10大HBase常見運(yùn)維工具整理小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    财经| 新巴尔虎右旗| 澄迈县| 清原| 两当县| 平利县| 常德市| 弋阳县| 土默特左旗| 临清市| 南汇区| 思南县| 黄浦区| 蒙山县| 昌图县| 通江县| 忻州市| 徐汇区| 宁乡县| 察隅县| 阜新| 临汾市| 左云县| 开鲁县| 余姚市| 潞城市| 潞西市| 紫金县| 昭觉县| 普洱| 高清| 霍邱县| 墨玉县| 昌黎县| 高雄市| 百色市| 台州市| 华容县| 阳朔县| 织金县| 谢通门县|