国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
中江县| 华池县| 池州市| 丹棱县| 浦城县| 格尔木市| 平湖市| 武山县| 扶绥县| 伊通| 卓尼县| 潞西市| 四子王旗| 安阳市| 玉林市| 金华市| 如东县| 建阳市| 通州市| 同江市| 长泰县| 出国| 慈利县| 贵港市| 长宁县| 宜黄县| 临海市| 大宁县| 名山县| 讷河市| 闸北区| 淮南市| 邵东县| 星座| 晋中市| 大荔县| 抚远县| 永年县| 新蔡县| 图们市| 泰安市|