日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Secondary Namenode的Check point机制以及Namenode、Datanode工作机制说明

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Secondary Namenode的Check point机制以及Namenode、Datanode工作机制说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • 目錄
    • 前言:
    • 1、NameNode的工作機制
    • 2、DataNode的工作機制
    • 3、Secondary Namenode的Check point機制

目錄

前言:

在說明checkpoint機制之前,先要了解下namenode、datanode的一些功能和職責。

1、NameNode的工作機制

問題場景:
1、集群啟動后,可以查看文件,但是上傳文件時報錯,打開web頁面可看到namenode正處于safemode狀態,怎么處理?(safemode是由于當前的namenode和大部分的datanode未建立完全的鏈接<即namenode不清楚有些數據的存儲位置造成的>)
2、Namenode服務器的磁盤故障導致namenode宕機,如何挽救集群及數據?(多種方法:1、早起設置集群時配置HA機制。2、在配置文件hdfs.site中將dfs.namenode.name.dir屬性配置多個目錄,就相當于對namenode數據做了多份備份,這樣做的好處是當其中一個目錄損壞了,也不會影響到Hadoop的元數據,特別是當其中一個目錄是NFS(網絡文件系統Network File System,NFS)之上,即使你這臺機器損壞了,元數據也得到保存。)
3、Namenode是否可以有多個(是,后面問題根據實際情況來具體分析)?namenode內存要配置多大?namenode跟集群數據存儲能力有關系嗎?
4、文件的blocksize究竟調大好還是調小好?
……
諸如此類問題的回答,都需要基于對namenode自身的工作原理的深刻理解。(目前的話個人件建議只需要了解以下的主要內容就行了,后續如果遇到問題再深入了解相關內容)

1. namenode的職責:
負責客戶端請求的響應;
元數據的管理(查詢,修改);
2. 對元數據管理:
namenode對數據的管理采用了三種存儲形式:
A、內存元數據(NameSystem):內存中有一份完整的元數據(內存meta data)。
B、磁盤元數據鏡像文件:磁盤有一個“準完整”的元數據鏡像(fsimage)文件(在namenode的工作目錄中)。
C、數據操作日志文件(可通過日志運算出元數據):用于銜接內存metadata和持久化元數據鏡像fsimage之間的操作日志(edits文件)。
注:當客戶端對hdfs中的文件進行新增或者修改操作,操作記錄首先被記入edits日志文件中,當客戶端操作成功后,相應的元數據會更新到內存meta.data中。

2、DataNode的工作機制

問題場景:
1、集群容量不夠,怎么擴容?
2、如果有一些datanode宕機,該怎么辦?
3、datanode明明已啟動,但是集群中的可用datanode列表中就是沒有,怎么辦?

以上這類問題的解答,有賴于對datanode工作機制的深刻理解(目前的話個人件建議只需要了解以下的主要內容就行了,后續如果遇到問題再深入了解相關內容)
1、Datanode工作職責:
存儲管理用戶的文件塊數據
定期向namenode匯報自身所持有的block信息(通過心跳信息上報)
(這點很重要,因為,當集群中發生某些block副本失效時,集群如何恢復block初始副本數量的問題)

3、Secondary Namenode的Check point機制

了解了以上知識,接下來再來理解元數據的checkpoint機制是怎么一回事的時候就很容易了。
什么叫checkpoint?
每隔一段時間,會由secondary namenode將namenode上積累的所有edits和一個最新的fsimage下載到本地,并加載到內存進行merge(這個過程稱為checkpoint)
checkpoint機制如下圖所示:

  • 客戶端發送更新元數據的請求。
  • namenode在內存中更新元數據。
  • edits記錄更新的操作日志
  • namenode滾動當前正在寫的edits。
  • 將生成的fsimage和edtis下載到secender namenode.
  • 將下載到secender namenode的fsimage和edtis放入內存進行合并。
  • 合并更新后的元數據dump成新的image文件
  • 然后secender namenode請求namenode是否需要checkpoint
  • 如果需要就將edtis正在寫的那條日志進行滾動(即重復4步驟的操作)并將secender namenode生成的新的fsimage上傳到namenode并重命名為fsimage。
  • checkpoint的附帶作用
    namenode和secondary namenode的工作目錄存儲結構完全相同,所以,當namenode故障退出需要重新恢復時,可以從secondary namenode的工作目錄中將fsimage拷貝到namenode的工作目錄,以恢復namenode的元數據。

    最后重點陳述下Secondary Namenode與Namenode的HA機制的區別,有許多人認為Secondary Namenode其實就是namenode一個HA機制,其實不是這樣的。Secondary Namenode相當于Namenode的一個熱備份(比如電腦的一鍵還原),只是定期將合并的image文件通過checkpoint機制傳給Namenode,并不具備HA機制中當namenode掛了之后直接接管namenode的能力。更深層來說,HA機制中備份的namenode是對namenode內存、edtis、image的實時的備份,而Secondary Namenode只是對image定時的備份。所以兩者不是同一個東西。

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的Secondary Namenode的Check point机制以及Namenode、Datanode工作机制说明的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。