您好,登錄后才能下訂單哦!
這篇文章主要介紹“管理Hadoop的方法”,在日常操作中,相信很多人在管理Hadoop的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”管理Hadoop的方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
1.namenode的目錄結(jié)構(gòu) VERSION 文件詳解:
#Thu Dec 15 10:07:46 CST 2016 namespaceID=1277563549 clusterID=CID-a4ff16ba-4427-4f8a-bbaf-4665b3ce714b cTime=0 storageType=NAME_NODE blockpoolID=BP-1697576408-127.0.0.1-1481767666542 layoutVersion=-63 layoutVersion - HDFS metadata版本號,通常只有HDFS增加新特性時才會更新這個版本號 namespaceID 文件系統(tǒng)命名空間的唯一標(biāo)識符,是在namenode 首次格式化時創(chuàng)建的 clusterID 是將HDFS集群作為一個整體賦予的唯一標(biāo)識符 blockpoolID 是數(shù)據(jù)塊池的唯一標(biāo)識符,數(shù)據(jù)塊池中包含了由一個namenode 管理的命名空間中的所有文件。 CTime 標(biāo)記了namenode 存儲系統(tǒng)的創(chuàng)建時間。對于剛放格式化的存儲系統(tǒng),這個屬性值為0 storageType 該存儲目錄包含的是namenode 的數(shù)據(jù)結(jié)構(gòu)
文件系統(tǒng)映像和編輯日志
文件系統(tǒng)客戶端執(zhí)行寫操作時(例如創(chuàng)建或移動文件),這些事務(wù)首先被記錄到編輯日志中。namenode在內(nèi)存中維護(hù)文件系統(tǒng)的元數(shù)據(jù);當(dāng)編輯日志被修改時,相關(guān)元數(shù)據(jù)信息也同步更新。
每個fsimage都是文件系統(tǒng)元數(shù)據(jù)的一個完整的永久性檢查點(diǎn)。
如何解決namenode 重啟操作慢的問題
運(yùn)行輔助namenode, 1、secondarynamenode請求namenode停止使用的edits_inprogress文件,新的編輯操作記錄到一個新的edits_inprogress文件中,同時namenode會更新所有存儲目錄中的seen_txid
2、secondarynamenode從namenode中通過HTTP GET獲取最近的fsimage和edits文件
3、secondarynamenode將fsimage文件載入內(nèi)存,逐一執(zhí)行edits文件中的事務(wù),創(chuàng)建新的合并后的fsimage文件
4、secondarynamenode將新的fsimage文件通過HTTP PUT發(fā)送回主namenode,namenode將其保存為臨時的.ckpt文件
5、namenode重命名臨時的fsimage文件
datanode 的目錄結(jié)構(gòu)
安全模式
namenode啟動時,首先將映像文件載入內(nèi)存,并執(zhí)行編輯日志中的各項操作。一旦在內(nèi)存中成功建立文件系統(tǒng)元數(shù)據(jù)的映像,則創(chuàng)建一個新的fsimage 文件和一個空的編輯日志。在這個過程中,namenode 運(yùn)行在安全模式,意味著namenode文件系統(tǒng)對于客戶端來說是只讀的。
日志審計
工具
解決各個datanode 上的塊分布不均衡的問題
dfsadmin
fsck
datanode 塊掃描器,定期檢測本節(jié)點(diǎn)上的所有塊
均衡器
主守護(hù)進(jìn)程是最需要監(jiān)控的,包括主namenode,輔助namenode 和資源管理器
日志
度量和JMX(Java管理擴(kuò)展)
hadoop守護(hù)進(jìn)程收集事件和度量相關(guān)的信息,這些信息統(tǒng)稱為“度量”
元數(shù)據(jù)備份
數(shù)據(jù)備份
劃分優(yōu)先級
distcp 是一個理想的備份工具
文件系統(tǒng)檢查
文件系統(tǒng)均衡器
委任和解除節(jié)點(diǎn)
隨便允許一臺機(jī)器以datanode身份連接到namenode 是不安全的。
添加新節(jié)點(diǎn)的步驟: <br/>1. 將新節(jié)點(diǎn)的網(wǎng)絡(luò)地址加到include 文件中 <br/>2. 運(yùn)行以下指令,將審核過的一系列datanode集合更新至namenode 信息 <br/>hdfs dfsadmin -refreshNodes <br/>3.運(yùn)行以下指令,將審核過的一系列節(jié)點(diǎn)管理器信息更新至資源管理器 <br/>yarn rmadmin -refreshNodes <br/>4. 以新節(jié)點(diǎn)更新slaves 文件。這樣的話,Hadoop控制腳本會將新節(jié)點(diǎn)包括在未來操作之中 <br/>5.啟動新的datanode 和節(jié)點(diǎn)管理器 <br/>6.檢查新的datanode和節(jié)點(diǎn)管理器是否都出現(xiàn)在網(wǎng)頁界面中
1.將待解除節(jié)點(diǎn)的網(wǎng)絡(luò)地址添加到exclude 文件中,不更新include 文件
2.執(zhí)行以下指令,使用一組新的審核過得datanode 來更新namenode 設(shè)置
hdfs dfsadmin -refreshNodes
3.使用一組新的審核過的節(jié)點(diǎn)管理器來更新資源管理器設(shè)置
yarn rmadmin -refreshNodes
4.轉(zhuǎn)到網(wǎng)頁界面,查看待解除datanode的管理狀態(tài)是否已經(jīng)變?yōu)檎诮獬?,因為此時相關(guān) 的datanode正在被解除過程之中。這些datanode會把它們的塊復(fù)制到其他datanode 中
5.當(dāng)所有datanode的狀態(tài)變?yōu)榻獬戤厱r,表明所有快已經(jīng)復(fù)制完畢。關(guān)閉已經(jīng)解除的節(jié)點(diǎn)。
6.從include 文件中移除這些節(jié)點(diǎn),并運(yùn)行以下命令
hdfs dfsadmin -refreshNodes yarn rmadmin -refreshNodes
移除節(jié)點(diǎn)
委任
從slaves 文件中移除節(jié)點(diǎn)
升級
是否能回滾
到此,關(guān)于“管理Hadoop的方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。