2024網(wǎng)易HBase 實(shí)踐方案_第1頁
2024網(wǎng)易HBase 實(shí)踐方案_第2頁
2024網(wǎng)易HBase 實(shí)踐方案_第3頁
2024網(wǎng)易HBase 實(shí)踐方案_第4頁
2024網(wǎng)易HBase 實(shí)踐方案_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

網(wǎng)易HBaseHBaseHBaseHBaseRITHBCKHBaseHadoopv是沒問題的,通過row-kscan,還是大就衍生出另一個(gè)問題HBase適合干啥。第三個(gè)就是小規(guī)模的scan。些打點(diǎn)數(shù)據(jù),最后一個(gè)數(shù)據(jù)來源就是sensor,如工業(yè)設(shè)備監(jiān)控產(chǎn)生的數(shù)據(jù)、CPU或者IO的一些指標(biāo)數(shù)據(jù)。這些數(shù)據(jù)經(jīng)過數(shù)據(jù)采集器進(jìn)入數(shù)據(jù)存儲,數(shù)據(jù)采集器比如sqoop、datastream(采集日志數(shù)據(jù)),還有APP的一些sdk。這些數(shù)據(jù)采集器可以將數(shù)據(jù)取出來通過kafka、sparkstreaming、flink流到存儲系統(tǒng)。存離線存儲系統(tǒng)底層存儲使用HDFS,基于HDFS之上的數(shù)據(jù)格式有很多種,比如ORC、個(gè)比較重要的存儲成員Kudu。除此之外,GPSQL在線存儲之外,還有一類存儲系統(tǒng)是時(shí)序數(shù)據(jù)庫,這類系統(tǒng)比如OpenTSDB、Druid、InfluxDB等。當(dāng)然,不同模式的存儲系統(tǒng)適用于不同的業(yè)務(wù)場景,比如用離線數(shù)據(jù)做一些數(shù)倉報(bào)表、機(jī)器學(xué)習(xí)模型訓(xùn)練等,HBase主要做交易訂單、商品優(yōu)惠券、用戶畫像等,時(shí)HBaseHBaseHBase300+物理機(jī),3PB數(shù)據(jù)量。應(yīng)用的業(yè)務(wù)也非常多,有網(wǎng)易考拉、網(wǎng)易云音樂、網(wǎng)易新聞客戶端,還包括很多云服務(wù)、大數(shù)據(jù)服務(wù)都是用HBASE做存儲。在結(jié)合MR和spark做一些機(jī)器學(xué)習(xí)的工作,訓(xùn)練一些模型,這些模型數(shù)據(jù)通過bulkload導(dǎo)入HBase的HDFS中,然后通過HBase提供在線服務(wù)。這類業(yè)務(wù)有新聞推薦,比如通HadoopHBaseHBaseOpenTSDB?其一是它聚合能力比較差,只能做一些基本的聚合。還有一個(gè)就是OpenTSDB的數(shù)據(jù)采集能力比較弱,因此用HBASE做了哨兵系統(tǒng)。類似OpenTSDB的用法很多,如Kylin,其底層也是用HBase。還有很多圖數(shù)據(jù)庫底層也是用HBase,HBase在很多通用的查詢底層系統(tǒng)應(yīng)用很多。HBaseHBaseAPPPush錄、日志明細(xì)歸檔、cdn流量及帶寬數(shù)據(jù)、信息安全用戶軌跡等等。第三部分講一下HBCK和RIT相關(guān)的知識,HBCK有兩部分工作,第一部分工作是做數(shù)據(jù)部分是完整性的檢查。HBCK到唯一一臺RegionServer上。其二是region的狀態(tài)在內(nèi)存中、hbase:meta表中以及zookeeper這三個(gè)地方需要保持一致。表的完整性就是一個(gè)rowkey只能存在于一個(gè)region里面。HBCK常見的檢查命令就是./bin/hbasehbck、./bin/hbasehbck–details、./bin/hbasehbckTableFooTableBar,建議做到表級別,如果集群級別的話,HBCKassign、assignassignRegionServerregion。第二個(gè)是修復(fù)元數(shù)據(jù),主要修復(fù).regioninfo文件和hbase:meta元數(shù)據(jù)表的不一致。存在,就會在hbase:meta表中添加一條記錄。反之如果在HDFS上不存在,而在hbase:meta表中存在,就會將hbase:meta表中對應(yīng)的記錄刪除。region區(qū)間overlapHDFShbckdetails細(xì)了解更多的問題細(xì)節(jié),再執(zhí)行相應(yīng)的修復(fù)命令。但是現(xiàn)實(shí)中又很多-repair|、-fix命令導(dǎo)致的,如會導(dǎo)致一個(gè)rowkey存在多個(gè)region里面去,因此強(qiáng)烈不建議生產(chǎn)線使用。regiondeployregionserver90%只要執(zhí)行./hbasehbck–fixAssignments就可以解決。如果實(shí)在解決不了,再去看打印的region沒有deploy到任何regionserver如果在HBCK輸出的detail中看到“onHDFS,butnotlistedinhbase:metaordeployedonregionserver”,可以用./hbasehbckfixMetafixAssignments解決。同樣看到“thereisaholeintheregionchain”這樣的信息先不用處理,執(zhí)行完上述修復(fù)命令再執(zhí)行HBCK檢查是否還有不一致現(xiàn)象??偨Y(jié)下有幾個(gè)套路,第一個(gè)套路如果狀態(tài)是pending_open(或pending_close)狀態(tài)的的region通常無法使用hbckfailed_open(或failed_close)regionregionregion處于RIT狀態(tài)但hbckzk上的region-in-transaction節(jié)點(diǎn)相關(guān)region刪除,重啟master就解決了。HBase一旦業(yè)務(wù)讀寫響應(yīng)變慢,寫入阻塞,RS來!資源使用情況,隊(duì)列使用情況,業(yè)務(wù)相互干擾情況,Compaction情況,GC情況。去排查下regionserver監(jiān)控,如regionserver隊(duì)列長度、rpc等情況,需要真正排查regionserver生的,這個(gè)時(shí)候就需要表級別的監(jiān)控。如表級別的讀寫,GPS等,這種就知道是那種業(yè)務(wù)監(jiān)控只會告訴你發(fā)生問題但是不能告訴你為什么。這時(shí)就需要日志分析,masterDDLbalance,snapshotHBase的開發(fā)運(yùn)維,熱衷于MySQL等相關(guān)數(shù)據(jù)庫技術(shù)。如下方向:時(shí)序數(shù)據(jù)庫研發(fā)工程師,MPP數(shù)據(jù)倉庫存儲引擎研發(fā)工程師,大數(shù)據(jù)開發(fā)工程師,Base\h云上HBase作者:郭澤暉整理:HBase應(yīng)該如何實(shí)現(xiàn),最后介紹下HBase在云端的實(shí)現(xiàn)方案。1.xSSD的配置,負(fù)責(zé)在線查HBaseHDFSDataNode可以指定表寫在冷介質(zhì)還是熱介質(zhì)上,最后在HDFS上可以依據(jù)你設(shè)置在文件上的屬性決定是將數(shù)據(jù)放在機(jī)械盤還是SSD上。這樣一個(gè)集群可以存在冷表和熱表,這樣相對于1.X因此在云端解決方案是一個(gè)比較彈性的方案,在介紹之前先介紹下我們云端HBase。云HBase是一個(gè)存儲計(jì)算完全分離的架構(gòu),底層是存儲,今天主要講冷存儲,云端regionserver訪問部署的節(jié)點(diǎn),磁盤都是遠(yuǎn)程讀的。因此磁盤大小是可以動態(tài)設(shè)置的,完全彈性。多模式是HBase云端之上除了HBase本身kv功能,還架設(shè)很多開源組件,如如偽造車禍騙取保險(xiǎn),而圖可以分析一個(gè)關(guān)系網(wǎng),能夠預(yù)防這種情況。openTSDB主要是物聯(lián)網(wǎng)、車聯(lián)網(wǎng)這些場景使用,geospatial是時(shí)空數(shù)據(jù)庫,主要應(yīng)用在軌跡場景。底下存儲層主要是有兩塊,熱數(shù)據(jù)或一般數(shù)據(jù)會放在云盤,冷數(shù)據(jù)是放在OSS。整個(gè)模式是一個(gè)上,同一個(gè)集群也能實(shí)現(xiàn)冷表和熱表。OSS是阿里的一個(gè)對象存儲產(chǎn)品,也是一個(gè)k-v存低。成本和云盤對比,云盤本身也保證數(shù)據(jù)可靠性,在云上自建HBase、HDFS用兩副本如果在阿里云上使用OSS作為Bseadop社區(qū)NtveOslesemlesemS上,也可以享受OS低成本特性。但是存在幾個(gè)問題,一個(gè)是NiveOsesem針對的是pReduce因?yàn)镺S是-v一字符。如果要模擬文件系統(tǒng)創(chuàng)建“oo/pen/onfe”,你需要創(chuàng)建圖中右邊四個(gè)對otpaent”rootNativeOssFileSystem的過程,如果server在mv操作時(shí)中途crash只會移走一部分,導(dǎo)致目錄文件不一致。放在HDFS上,在APP調(diào)用HadoopFileSystem實(shí)際是調(diào)用ApsaraDistributedFileSystem,這個(gè)實(shí)現(xiàn)會控制你的文件調(diào)用OssFileSystem就將其放到OSS里面,調(diào)ApsaraFileSystemHadoopHDFSHadoop個(gè)文件存儲也是保證原子的。讀取冷文件時(shí)將讀的通道轉(zhuǎn)發(fā)到OSS上,然后構(gòu)建一個(gè)OSSinputstream和OSSoutputstream。性能上和社區(qū)版比較也做了一些優(yōu)化,實(shí)現(xiàn)上會有一些限制,請求OSS是有費(fèi)用的,HadoopFileSystemOutputStreamwrite去,OSSsdkInputStreamHadoopfilestreamOSSOutputStreamInputStreamnativeOSSOutputStreambuffer128M將其包裝成fileInputStream提交給OSS的SDK,會有一個(gè)異步線程池來提交buffer文件。這樣存在的問題是寫入過程需要入磁盤,會損耗性能;第二比較依賴磁盤性能,異步發(fā)送buffer會變成一個(gè)單線程;crash會殘留這些文件,對運(yùn)維比較麻煩。我們實(shí)現(xiàn)版本寫入是不在磁盤落地,中間會有一個(gè)ringbuffer(只有幾M),用戶寫入到ringbuffer里,里面由固定數(shù)量配置組成,有5個(gè)配置。藍(lán)色是寫入,綠色有一個(gè)異步線inputstream,相當(dāng)于實(shí)時(shí)源源不斷類似于流的形式。每當(dāng)inputstream被OSS的SDK讀完128M,將數(shù)據(jù)提交,然后再有數(shù)據(jù)寫入再包裝成inputstream128M磁盤,占用內(nèi)存開銷也很少。性能測試寫入吞吐差25%,我的valuesize只有100B。在HBase使用這個(gè)特性,建表的時(shí)候配一下config,create'test',{NAME=>'info'},CONFIGURATION=>{'HFILE_STORAGE_POLICY'=>'COLDOSS偶爾讀

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論