最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

面試題百日百刷-HBase HRegionServer宕機(jī)如何處理

2023-04-07 21:39 作者:zjlala96  | 我要投稿

鎖屏面試題百日百刷,每個(gè)工作日?qǐng)?jiān)持更新面試題。鎖屏面試題app、小程序現(xiàn)已上線,官網(wǎng)地址:https://www.demosoftware.cn。已收錄了每日更新的面試題的所有內(nèi)容,還包含特色的解鎖屏幕復(fù)習(xí)面試題、每日編程題目郵件推送等功能。讓你在面試中先人一步!接下來(lái)的是今日的面試題:



1.HBase的導(dǎo)入導(dǎo)出方式?

1)導(dǎo)入:bin/hbase org.apache.hadoop.hbase.mapreduce.Driver import 表名 路徑

路徑:來(lái)源

本地路徑?file:///path

HDFS hdfs://cluster1/path

2)導(dǎo)出:bin/hbase org.apache.hadoop.hbase.mapreduce.Driver export 表名 路徑

路徑:目的地

本地路徑?file:///path

HDFS hdfs://cluster1/path

2.Region如何預(yù)建分區(qū)?

預(yù)分區(qū)的目的主要是在創(chuàng)建表的時(shí)候指定分區(qū)數(shù),提前規(guī)劃表有多個(gè)分區(qū),以及每個(gè)分區(qū)的區(qū)間范圍,這樣在存儲(chǔ)的時(shí)候rowkey按照分區(qū)的區(qū)間存儲(chǔ),可以避免region熱點(diǎn)問(wèn)題。

通常有兩種方案:

方案1:shell 方法

create 'tb_splits', {NAME => 'cf',VERSIONS=> 3},{SPLITS => ['10','20','30']}

方案2: JAVA程序控制

· 取樣,先隨機(jī)生成一定數(shù)量的rowkey,將取樣數(shù)據(jù)按升序排序放到一個(gè)集合里;

· 根據(jù)預(yù)分區(qū)的region個(gè)數(shù),對(duì)整個(gè)集合平均分割,即是相關(guān)的splitKeys;

· HBaseAdmin.createTable(HTableDescriptor tableDescriptor,byte[][]splitkeys)可以指定預(yù)分區(qū)的splitKey,即是指定region間的rowkey臨界值。

3.HRegionServer宕機(jī)如何處理?

1)ZooKeeper會(huì)監(jiān)控HRegionServer的上下線情況,當(dāng)ZK發(fā)現(xiàn)某個(gè)HRegionServer宕機(jī)之后會(huì)通知HMaster

進(jìn)行失效備援;

2)該HRegionServer會(huì)停止對(duì)外提供服務(wù),就是它所負(fù)責(zé)的region暫時(shí)停止對(duì)外提供服務(wù);

3)HMaster會(huì)將該HRegionServer所負(fù)責(zé)的region轉(zhuǎn)移到其他HRegionServer上,并且會(huì)對(duì)HRegionServer上存在memstore中還未持久化到磁盤中的數(shù)據(jù)進(jìn)行恢復(fù);

4) 這個(gè)恢復(fù)的工作是由WAL重播來(lái)完成,這個(gè)過(guò)程如下:

· wal實(shí)際上就是一個(gè)文件,存在/hbase/WAL/對(duì)應(yīng)RegionServer路徑下。

· 宕機(jī)發(fā)生時(shí),讀取該RegionServer所對(duì)應(yīng)的路徑下的wal文件,然后根據(jù)不同的region切分成不同的臨時(shí)文件recover.edits。

· 當(dāng)region被分配到新的RegionServer中,RegionServer讀取region時(shí)會(huì)進(jìn)行是否存在recover.edits,如果有則進(jìn)行恢復(fù)。

4.HBase讀寫流程?

讀:

① HRegionServer保存著meta表以及表數(shù)據(jù),要訪問(wèn)表數(shù)據(jù),首先Client先去訪問(wèn)zookeeper,從zookeeper里面獲取meta表所在的位置信息,即找到這個(gè)meta表在哪個(gè)HRegionServer上保存著。

② 接著Client通過(guò)剛才獲取到的HRegionServer的IP來(lái)訪問(wèn)Meta表所在的HRegionServer,從而讀取到Meta,進(jìn)而獲取到Meta表中存放的元數(shù)據(jù)。

③ Client通過(guò)元數(shù)據(jù)中存儲(chǔ)的信息,訪問(wèn)對(duì)應(yīng)的HRegionServer,然后掃描所在HRegionServer的Memstore和Storefile來(lái)查詢數(shù)據(jù)。

④ 最后HRegionServer把查詢到的數(shù)據(jù)響應(yīng)給Client。

寫:

① Client先訪問(wèn)zookeeper,找到Meta表,并獲取Meta表元數(shù)據(jù)。

② 確定當(dāng)前將要寫入的數(shù)據(jù)所對(duì)應(yīng)的HRegion和HRegionServer服務(wù)器。

③ Client向該HRegionServer服務(wù)器發(fā)起寫入數(shù)據(jù)請(qǐng)求,然后HRegionServer收到請(qǐng)求并響應(yīng)。

④ Client先把數(shù)據(jù)寫入到HLog,以防止數(shù)據(jù)丟失。

⑤ 然后將數(shù)據(jù)寫入到Memstore。

⑥ 如果HLog和Memstore均寫入成功,則這條數(shù)據(jù)寫入成功

⑦ 如果Memstore達(dá)到閾值,會(huì)把Memstore中的數(shù)據(jù)flush到Storefile中。

⑧ 當(dāng)Storefile越來(lái)越多,會(huì)觸發(fā)Compact合并操作,把過(guò)多的Storefile合并成一個(gè)大的Storefile。

⑨ 當(dāng)Storefile越來(lái)越大,Region也會(huì)越來(lái)越大,達(dá)到閾值后,會(huì)觸發(fā)Split操作,將Region一分為二。

面試題百日百刷-HBase HRegionServer宕機(jī)如何處理的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
兰州市| 报价| 平罗县| 东宁县| 湘阴县| 扶风县| 巴青县| 舞阳县| 尤溪县| 仁化县| 新沂市| 华阴市| 河南省| 嘉荫县| 灵台县| 集安市| 鄄城县| 岳西县| 商丘市| 沈阳市| 金寨县| 江西省| 阳江市| 门头沟区| 庆云县| 永登县| 龙南县| 澄城县| 四会市| 岱山县| 彰武县| 霍林郭勒市| 广灵县| 博野县| 杭锦旗| 延长县| 北流市| 秦皇岛市| 宜君县| 安新县| 林口县|