前言:以前有朋友加好友与我探讨一些问题,我以为这些问题倒挺有价值的;因而就想在本公众号开设一个问答专栏,方便技术交流与分享,专栏名就定为:《读者来信》。欢迎关注本人微信公众号《HBase工做笔记》,扫描文末二维码解锁更多姿式!web
如何判断HBase Major Compact是否执行完毕?shell
这里提供两种查看方式:
一种是HBase WebUI 界面; 另一种是HBase Shell命令行 。
咱们下面看一下。微信
点击Web首页Compactions按钮查看每个RS Compact完成状况;
点击ServerName进入RS Web页后点击Compaction Metrics可查看该RS上每个Region Compact 完成状况。ui
经过Shell方式查看同WebUI查看大同小异,只不过没有将这些指标可视化而已。若是有兴趣,能够本身采集这些指标作一个漂亮的监控界面~this
经过命令 status 'simple' 可查看HBase RS级别的一些指标,其中 compactionProgressPct=1.0 即代表RS Compact完成。以下:spa
hbase(main):002:0> status 'simple' active master: xxx.xx.xx.xx:6000 1539254611835 1 backup masters xxx.xx.xx.xx:6000 1539254627238 4 live servers xxx.xx.xx.xx:6002 1575619570126 requestsPerSecond=211.0, numberOfOnlineRegions=293, usedHeapMB=4861, maxHeapMB=16384, numberOfStores=293, numberOfStorefiles=432, storefileUncompressedSizeMB=97691, storefileSizeMB=35689, compressionRatio=0.3653, memstoreSizeMB=891, storefileIndexSizeMB=0, readRequestsCount=738897443, writeRequestsCount=717989941, rootIndexSizeKB=5413, totalStaticIndexSizeKB=149724, totalStaticBloomSizeKB=63325, totalCompactingKVs=1389414755, currentCompactedKVs=1389414755, compactionProgressPct=1.0, coprocessors=[HBaseSimHashSetBuildSystem, MultiRowMutationEndpoint] xxx.xx.xx.xx:6002 1575619966048 ... 0 dead servers Aggregate load: 962, regions: 1176
经过命令 status 'detailed' 可查看HBase RS Region 级别的一些指标,其中 compactionProgressPct=1.0 即代表RS Compact完成。以下:命令行
hbase(main):002:0> status 'detailed' active master: xxx.xx.xx.xx:6000 1539254611835 1 backup masters xxx.xx.xx.xx:6000 1539254627238 4 live servers xxx.xx.xx.xx:6002 1575619570126 "namespace:table,20,1577443984105.518a1fbd9dd64e5956e591fa23556f48." numberOfStores=1, numberOfStorefiles=1, storefileUncompressedSizeMB=0, lastMajorCompactionTimestamp=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0, readRequestsCount=0, writeRequestsCount=0, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=332285, currentCompactedKVs=332285, compactionProgressPct=1.0, completeSequenceId=-1, dataLocality=1.0 "namespace:table,1f,1577443984105.61c4ba95dbed1eb52da78c448e2f4bbf." ... 0 dead servers
在上面的Shell命令行输出中咱们还看到有两个与Compact相关的指标,分别是totalCompactingKVs 与 currentCompactedKVs。其实指标 compactionProgressPct 正是由两者计算得来,以下:code
float compactionProgressPct = Float.NaN; if( this.totalCompactingKVs > 0 ) { compactionProgressPct = Float.valueOf( this.currentCompactedKVs / this.totalCompactingKVs); }
可能有的朋友会发现本身家的 HBase compactionProgressPct 指标出现了大于100% 状况,或是 currentCompactedKVs>totalCompactingKVs 等状况,其实这是HBase小版本出现的一个bug,该bug在 2.0.0-beta 版本中才修复完毕。相关jira 以下:server
转载请注明出处!欢迎关注本人微信公众号【HBase工做笔记】requests