如何對(duì)hbase用的好,怎么定義把hbase用的好?
在保證系統(tǒng)穩(wěn)定性、可用性的基礎(chǔ)上能夠用最少的系統(tǒng)資源(CPU,IO等)獲得最好的性能(吞吐量,讀寫(xiě)延遲)就是’用的好’。
優(yōu)化方向?yàn)?
(1)HDFS相關(guān)配置優(yōu)化,(2)HBase服務(wù)器端優(yōu)化(GC優(yōu)化、Compaction優(yōu)化、硬件配置優(yōu)化),(3)列族設(shè)計(jì)優(yōu)化,(4)客戶端優(yōu)化等,
hbase規(guī)劃方向:分為A.hbase內(nèi)存規(guī)劃、B.hbase集群規(guī)劃
A.hbase內(nèi)存規(guī)劃 參考鏈接為:hbase內(nèi)存規(guī)劃(讀多寫(xiě)少型和寫(xiě)多讀少型) https://blog.51cto.com/12445535/2373788
B.hbase集群規(guī)劃 參考鏈接為:hbase 集群規(guī)劃(集群業(yè)務(wù)規(guī)劃,集群容量規(guī)劃,Region規(guī)劃)
https://blog.51cto.com/12445535/2375540
(4)其中第四點(diǎn)(4)客戶端優(yōu)化在前面已經(jīng)通過(guò)超時(shí)機(jī)制、重試機(jī)制講過(guò),參考鏈接為:
HBase客戶端Rpc的重試機(jī)制以及客戶端參數(shù)優(yōu)化。:https://blog.51cto.com/12445535/2373709
hbase 客戶端超時(shí)機(jī)制參數(shù)優(yōu)化實(shí)踐:https://blog.51cto.com/12445535/2373731
(3)列族設(shè)計(jì)優(yōu)化 總結(jié)
hbase列族設(shè)計(jì) (在很大程度上決定了讀寫(xiě)的性能) // 參考鏈接 HBase最佳實(shí)踐-列族設(shè)計(jì)優(yōu)化 http://hbasefly.com/2016/07/02/hbase-pracise-cfsetting/
hbase 創(chuàng)建表語(yǔ)句
create 'NewsClickFeedback',{NAME=>'Toutiao',VERSIONS=>1,BLOCKCACHE=>true,BLOOMFILTER=>'ROW',COMPRESSION=>'SNAPPY',TTL => '259200', DATA_BLOCK_ENCODING => 'PREFIX_TREE', BLOCKSIZE => '65536'},{SPLITS => ['1','2','3','4','5','6','7','8','9','a','b','c','d','e','f']}
小結(jié):
1、對(duì)于以隨機(jī)讀為主的業(yè)務(wù),可以適當(dāng)調(diào)低BlockSize的大小,以獲得更好的讀性能。默認(rèn)為64K
2、對(duì)于以scan為主的業(yè)務(wù),可以適當(dāng)增大BlockSize的大小,以獲得更好的讀性能。
【提示:
1.可見(jiàn),如果業(yè)務(wù)請(qǐng)求以Get請(qǐng)求為主,可以考慮將塊大小設(shè)置較??;
2.如果以Scan請(qǐng)求為主,可以將塊大小調(diào)大;默認(rèn)的64K塊大小是在Scan和Get之間取得的一個(gè)平衡。
】
3、數(shù)據(jù)編碼/壓縮Compress/DeCompress (壓縮/解壓縮)
Snappy:綜合來(lái)看,Snappy的壓縮率最低,但是編解碼速率最高,對(duì)CPU的消耗也最小,目前一般建議使用Snappy。
4、Encode/Decode(數(shù)據(jù)編碼功能)
推薦:DATA_BLOCK_ENCODING => 'PREFIX_TREE' //這個(gè)配置鑒于安全考慮,prefix_tree功能建議不要設(shè)置上生產(chǎn)。
(2)hbase服務(wù)器端優(yōu)化之gc優(yōu)化 見(jiàn):hbase gc系列博客
https://blog.51cto.com/12445535/category16.html
(2)hbase服務(wù)器端優(yōu)化之compaction優(yōu)化
https://blog.51cto.com/12445535/2375292
https://blog.51cto.com/12445535/2375361
(2)hbase服務(wù)器端優(yōu)化之hbase使用硬件優(yōu)化(用好操作系統(tǒng))
https://blog.51cto.com/12445535/2375515
(1)hdfs相關(guān)的優(yōu)化
當(dāng)hbase讀比較多的時(shí)候 優(yōu)化方向 見(jiàn)深入探討hbase讀性能優(yōu)化探討(20190308)https://blog.51cto.com/12445535/2360206 中的hdfs優(yōu)化(啟用 HDFS 快速讀取,數(shù)據(jù)本地率是否太低?)
hbase RIT 機(jī)制
(其中很重要的2個(gè)案例 永久RIT狀態(tài)案例分析(案例一:Compaction永久阻塞 案例二:HDFS文件異常))
Region-In-Trasition機(jī)制
//什么叫RIT Region-In-Transition
是Region變遷機(jī)制,實(shí)際上是指在一次特定操作行為中Region狀態(tài)的變遷,
Region存在15中狀態(tài)
四種會(huì)觸發(fā)Region狀態(tài)變遷的操作 分別是:assign、unassign、split以及merge【分配 取消分配 分裂 合并】等而很多其他操作都可以拆成unassign和assign,比如move操作實(shí)際上是先unassign再assign;
http://hbasefly.com/2016/09/08/hbase-rit/
hbase多租戶
(1)資源限制,主要針對(duì)用戶、namespace以及表的QPS和請(qǐng)求大小進(jìn)行限制,詳見(jiàn)HBase-11598
(2)資源調(diào)度,主要針對(duì)任務(wù)進(jìn)行優(yōu)先級(jí)調(diào)度,通常會(huì)優(yōu)先調(diào)度實(shí)時(shí)交互而且小的任務(wù),而批量操作任務(wù)或者長(zhǎng)時(shí)間操作任務(wù)(大scan)優(yōu)先級(jí)相對(duì)較低,詳見(jiàn)HBase-10993
(3)資源隔離,將不同表通過(guò)物理隔離的方式分布到不同的RegionServer上,詳見(jiàn)HBase-6721
資源限制-Quotas命令
http://hbasefly.com/2016/09/26/hbase-mutiltenant-1/
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。