Namenode:用于管理文件系統(tǒng)的命名空間、目錄結(jié)構(gòu)、元數(shù)據(jù)信息以及提供備份機(jī)制;
DataNode:用于存儲(chǔ)每個(gè)文件的“數(shù)據(jù)塊”數(shù)據(jù),并且會(huì)周期性地向NameNode報(bào)告該DataNode的數(shù)據(jù)存放情況;
JournalNode:用于同步主備NameNode之間的元數(shù)據(jù)信息;
Zookeeper:是一個(gè)協(xié)調(diào)服務(wù),幫助ZKFC執(zhí)行主NameNode的選舉;
ZKFC:它負(fù)責(zé)監(jiān)控NameNode的狀態(tài),并及時(shí)把狀態(tài)寫入Zookeeper;
1.為了避免單點(diǎn)故障問題,HDFS一般采用HA集群的方式部署,典型的HDFSHA場(chǎng)景為主備兩個(gè)NameNode方式運(yùn)行,一個(gè)處于Active狀態(tài),另一個(gè)處于Standby狀態(tài),一旦主NameNode出現(xiàn)故障,可以迅速切換至備NameNode,從而不間斷對(duì)外提供服務(wù)。
2.NameNode之間通過一組JournalNode同步元數(shù)據(jù)信息,實(shí)現(xiàn)Active和Standby兩個(gè)NameNode的元數(shù)據(jù)信息同步。
在HDFS內(nèi)部,一個(gè)文件分成一個(gè)或多個(gè)“數(shù)據(jù)塊”,這些“數(shù)據(jù)塊”存儲(chǔ)在DataNode集合里,NameNode負(fù)責(zé)保存和管理所有的HDFS元數(shù)據(jù)??蛻舳诉B接到NameNode,執(zhí)行文件系統(tǒng)的“命名空間”操作,例如打開、關(guān)閉、重命名文件和目錄,同時(shí)決定“數(shù)據(jù)塊”到具體DataNode節(jié)點(diǎn)的映射。DataNode在NameNode的指揮下進(jìn)行“數(shù)據(jù)塊”的創(chuàng)建、刪除和復(fù)制??蛻舳诉B接到DataNode,執(zhí)行讀寫數(shù)據(jù)塊操作。
HDFS高可用集群中單數(shù)據(jù)節(jié)點(diǎn)datanode掛掉,不影響整個(gè)集群業(yè)務(wù)運(yùn)行,更換硬盤屬于高危操作,更換前需要將其他業(yè)務(wù)遷出。
1.收到hadoop數(shù)據(jù)節(jié)點(diǎn)Datanode進(jìn)程停掉的告警信息。
2.登錄集群管理節(jié)點(diǎn),切換到故障節(jié)點(diǎn),進(jìn)入hadoop日志目錄查看datanode日志詳情,根據(jù)日志定位故障硬盤位置。
3.更換硬盤涉及風(fēng)險(xiǎn),更換前應(yīng)通知業(yè)務(wù)側(cè)停掉主機(jī)業(yè)務(wù)進(jìn)程,然后再做更換操作。該主機(jī)歷史進(jìn)程如下
4.停止業(yè)務(wù)進(jìn)程
停止nodemanager(如有)
命令:yarn-daemon.shstop nodemanager
停止HRegionserver進(jìn)程(業(yè)務(wù)集群使用graceful_stop.sh命令將region遷移到其他節(jié)點(diǎn)后停止regionserver)
命令:graceful_stop.shhadoop3(主機(jī)名)
查詢r(jià)egion已遷移至節(jié)點(diǎn)2
停止journalnode進(jìn)程
命令:hadoop-daemon.shstop journalnode
停止datanode進(jìn)程
命令:hadoop-daemon.shstop datanode
停止zookeeper進(jìn)程(如有)
命令:zkServer.shstop
5.更換數(shù)據(jù)節(jié)點(diǎn)故障硬盤,掛載到原文件夾并修改權(quán)限
6.查詢文件掛載及權(quán)限
查詢文件夾權(quán)限
命令:ll/ |grep chunk09
查詢hadoopHDFS配置文件中datanode參數(shù)
命令:morehdfs-site.xml
7.確認(rèn)無誤后啟動(dòng)進(jìn)程
首先電話通知局方磁盤更換完成,現(xiàn)在要恢復(fù)進(jìn)程
啟動(dòng)zookeeper進(jìn)程(如有)
zkServer.shstart
啟動(dòng)datanode進(jìn)程
命令:hadoop-daemon.shstart datanode
查詢hadoopdatanode日志,讀取到新盤所在chunk09
啟動(dòng)journalnode進(jìn)程
命令:hadoop-daemon.shstart journalnode
啟動(dòng)regionserver進(jìn)程
命令:hbase-daemon.shstart regionserver
注意:hbase請(qǐng)求量空閑的時(shí)候啟動(dòng),特別是某些特殊的集群,如詳單、計(jì)費(fèi)、hbase集群均衡
進(jìn)入頁面檢查hbase是否均衡,如果沒均衡(如果均衡不用管),手動(dòng)開啟均衡
命令:echo“balance_switch true”|hbase shell
啟動(dòng)nodemanager
命令:yarn-daemon.shstart nodemanager
8.主機(jī)查詢進(jìn)程狀態(tài)
登錄HDFSUI查詢Datanode
HbaseUI查詢r(jià)egionserver
參考:https://support.huawei.com/hedex/hdx.do?docid=EDOC1100020180&lang=zh&idPath=22658044%7C7919788%7C9856606%7C21110924
https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/130073.html
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20