鎖屏面試題百日百刷,每個作業日堅持更新面試題,鎖屏面試題app、小程式現已上線,官網地址:https://www.demosoftware.cn,已收錄了每日更新的面試題的所有內容,還包含特色的解鎖螢屏復習面試題、每日編程題目郵件推送等功能,讓你在面試中先人一步!接下來的是今日的面試題:
1.HBase的匯入匯出方式?
1)匯入:bin/hbase org.apache.hadoop.hbase.mapreduce.Driver import 表名 路徑
路徑:來源
本地路徑 file:///path
HDFS hdfs://cluster1/path
2)匯出:bin/hbase org.apache.hadoop.hbase.mapreduce.Driver export 表名 路徑
路徑:目的地
本地路徑 file:///path
HDFS hdfs://cluster1/path
2.Region如何預建磁區?
預磁區的目的主要是在創建表的時候指定磁區數,提前規劃表有多個磁區,以及每個磁區的區間范圍,這樣在存盤的時候rowkey按照磁區的區間存盤,可以避免region熱點問題,
通常有兩種方案:
方案1:shell 方法
create 'tb_splits', {NAME => 'cf',VERSIONS=> 3},{SPLITS => ['10','20','30']}
方案2: JAVA程式控制
· 取樣,先隨機生成一定數量的rowkey,將取樣資料按升序排序放到一個集合里;
· 根據預磁區的region個數,對整個集合平均分割,即是相關的splitKeys;
· HBaseAdmin.createTable(HTableDescriptor tableDescriptor,byte[][]splitkeys)可以指定預磁區的splitKey,即是指定region間的rowkey臨界值,
3.HRegionServer宕機如何處理?
1)ZooKeeper會監控HRegionServer的上下線情況,當ZK發現某個HRegionServer宕機之后會通知HMaster
進行失效備援;
2)該HRegionServer會停止對外提供服務,就是它所負責的region暫時停止對外提供服務;
3)HMaster會將該HRegionServer所負責的region轉移到其他HRegionServer上,并且會對HRegionServer上存在memstore中還未持久化到磁盤中的資料進行恢復;
4) 這個恢復的作業是由WAL重播來完成,這個程序如下:
· wal實際上就是一個檔案,存在/hbase/WAL/對應RegionServer路徑下,
· 宕機發生時,讀取該RegionServer所對應的路徑下的wal檔案,然后根據不同的region切分成不同的臨時檔案recover.edits,
· 當region被分配到新的RegionServer中,RegionServer讀取region時會進行是否存在recover.edits,如果有則進行恢復,
4.HBase讀寫流程?
讀:
① HRegionServer保存著meta表以及表資料,要訪問表資料,首先Client先去訪問zookeeper,從zookeeper里面獲取meta表所在的位置資訊,即找到這個meta表在哪個HRegionServer上保存著,
② 接著Client通過剛才獲取到的HRegionServer的IP來訪問Meta表所在的HRegionServer,從而讀取到Meta,進而獲取到Meta表中存放的元資料,
③ Client通過元資料中存盤的資訊,訪問對應的HRegionServer,然后掃描所在HRegionServer的Memstore和Storefile來查詢資料,
④ 最后HRegionServer把查詢到的資料回應給Client,
寫:
① Client先訪問zookeeper,找到Meta表,并獲取Meta表元資料,
② 確定當前將要寫入的資料所對應的HRegion和HRegionServer服務器,
③ Client向該HRegionServer服務器發起寫入資料請求,然后HRegionServer收到請求并回應,
④ Client先把資料寫入到HLog,以防止資料丟失,
⑤ 然后將資料寫入到Memstore,
⑥ 如果HLog和Memstore均寫入成功,則這條資料寫入成功
⑦ 如果Memstore達到閾值,會把Memstore中的資料flush到Storefile中,
⑧ 當Storefile越來越多,會觸發Compact合并操作,把過多的Storefile合并成一個大的Storefile,
⑨ 當Storefile越來越大,Region也會越來越大,達到閾值后,會觸發Split操作,將Region一分為二,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/549474.html
標籤:其他
