昨天在飛機上的2個小時看了一遍HBase的Client API,有幾點心得:
成都創(chuàng)新互聯(lián)公司是少有的成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、營銷型企業(yè)網(wǎng)站、微信小程序定制開發(fā)、手機APP,開發(fā)、制作、設(shè)計、友情鏈接、推廣優(yōu)化一站式服務網(wǎng)絡(luò)公司,2013年至今,堅持透明化,價格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評1.在Put小記錄時最好關(guān)閉autoFlush,并合理設(shè)置WriterBuffer:
因為每次Put都要進行一次RPC調(diào)用+WAL(關(guān)閉對寫入提升非常大)+Server端處理,如果對于大批量小數(shù)據(jù)寫入的話RPC的RTT消耗的時間就會成為寫入的損耗點,因此可以通過本地緩沖批量提交的方式;默認的WriteBuffer大小是2MB,當autoFlush關(guān)閉時,客戶端每次put都會寫入到一個ArrayList內(nèi),每10次檢查一次,當size超過WriteBuffer size時則進行一次flushCommit,會將WB的Put按照RS進行分組,每個RS進行一次RPC調(diào)用處理;
當提交到Server端后,如果發(fā)生異常,則會將WB中已經(jīng)寫入的Put刪除,保留提交失敗的進行異常處理;
不過WB的大小需要合理設(shè)置,因為占用本地和RS的內(nèi)存.
本地內(nèi)存占用很好估計,而服務端的內(nèi)存大消耗則是:hbase.client.write.buffer * hbase.regionserver.handler.count * number ofregion server
2.Scanner的batch/cache設(shè)置:
Scan具體的處理流程如下圖:
Caching的設(shè)置主要影響RSnext的調(diào)用(可以理解成面向“行”的batch),而batch則是RSRegionScanner每次nextInternal獲取的keyvalue數(shù)(可以理解成面向“列”的batch);
因此具體SCAN調(diào)用RPC次數(shù)由兩個參數(shù)共同決定=cells總數(shù)/(caching*min(batch,cells/row));
那這里scanner的next(n)其實和MYSQL JDBC里的fetch類似,其實是在客戶端loop模擬的,而不是真的在server端進行batch fetch,其實這里的scan和mysql里的cursor是非常類似的,因此理解了一個理解另外一個就是水到渠成了.
不過這里也有WB同樣的問題就是內(nèi)存消耗,以及網(wǎng)絡(luò)傳輸,處理完畢時及時關(guān)閉.
3.HConnection的處理:
簡稱HC,都是由shared的HCManager產(chǎn)生,而一個HC是存儲在HCManager的HBASE_INSTANCES的MAP類型里,也就是說同一個Client+Conf是共享HC的,這樣有個好處就是首先共享了 ZK連接,其實就是在split/merge時只對一個HC進行metadata refresh就OK了.
缺點就是這些連接會一直保持到客戶端進程退出,會導致ZK連接超maxClientCnxns異常.
4.Coprocessor:
類似對比MySQL的trigger和procedure.稍候再詳細介紹
5.Counter
這個計數(shù)器非常好用,不過用HBase做計數(shù)compared to redis是不是略重了:P
6.RowLock
這個應該是被禁用掉的東西,RS殺手啊...可以把rpc handler hold住lease.period...
7.管理API:
Split/Compact運維利器:)
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)站標題:HBaseClientAPI簡析-創(chuàng)新互聯(lián)
本文地址:http://muchs.cn/article12/idjgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、面包屑導航、標簽優(yōu)化、ChatGPT、用戶體驗、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容