成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hadoop 之 NameNode 元數據原理

大數據 Hadoop
在對NameNode節點進行格式化時,調用了FSImage的saveFSImage()方法和FSEditLog.createEditLogFile()存儲當前的元數據。Namenode主要維護兩個文件,一個是fsimage,一個是editlog。

在對NameNode節點進行格式化時,調用了FSImage的saveFSImage()方法和FSEditLog.createEditLogFile()存儲當前的元數據。Namenode主要維護兩個文件,一個是fsimage,一個是editlog。

fsimage :保存了最新的元數據檢查點,包含了整個HDFS文件系統的所有目錄和文件的信息。對于文件來說包括了數據塊描述信息、修改時間、訪問時間等;對于目錄來說包括修改時間、訪問權限控制信息(目錄所屬用戶,所在組)等。簡單的說,Fsimage就是在某一時刻,整個hdfs 的快照,就是這個時刻hdfs上所有的文件塊和目錄,分別的狀態,位于哪些個datanode,各自的權限,各自的副本個數等。

注意:Block的位置信息不會保存到fsimage,Block保存在哪個DataNode(由DataNode啟動時上報)。

editlog :主要是在NameNode已經啟動情況下對HDFS進行的各種更新操作進行記錄,HDFS客戶端執行所有的寫操作都會被記錄到editlog中。

讀取元數據:

啟動NameNode節點時,又要從鏡像和編輯日志中讀取元數據。

寫入元數據:

在NameNode運行時會將內存中的元數據信息存儲到所指定的文件,即${dfs.name.dir}/current目錄下的fsimage文件,此外還會將另外一部分對NameNode更改的日志信息存儲到${dfs.name.dir}/current目錄下的edits文件中。fsimage文件和edits文件可以確定NameNode節點當前的狀態,這樣在NameNode節點由于突發原因崩潰時,可以根據這兩個文件中的內容恢復到節點崩潰前的狀態,所以對NameNode節點中內存元數據的每次修改都必須保存下來。但是如果每次都保存到fsimage文件中,這樣效率就特別低效,所以引入編輯日志文件edits,保存對對元數據的修改信息,也就是fsimage文件保存NameNode節點中某一時刻內存中的元數據(即目錄樹),edits保存這一時刻之后的對元數據的更改信息。

SecondaryNameNode:主要由兩個作用,一是鏡像備份(不是NN的備份,但可以做備份),二是日志與鏡像的定期合并。

  • 第一步:將hdfs更新記錄寫入一個新的文件——edits.new。
  • 第二步:將fsimage和editlog通過http協議發送至secondary namenode。
  • 第三步:將fsimage與editlog合并,生成一個新的文件——fsimage.ckpt。這步之所以要在secondary namenode中進行,是因為比較耗時,如果在namenode中進行,或導致整個系統卡頓。
  • 第四步:將生成的fsimage.ckpt通過http協議發送至namenode。
  • 第五步:重命名fsimage.ckpt為fsimage,edits.new為edits。
  • 第六步:等待下一次checkpoint觸發SecondaryNameNode進行工作,一直這樣循環操作。

注:checkpoint觸發的條件可以在core-site.xml文件中進行配置。fs.checkpoint.period表示多長時間記錄一次hdfs的鏡像。默認是1小時。fs.checkpoint.size表示一次記錄多大的size,默認64M。例如如下:

  1. <property>  
  2. <name>fs.checkpoint.period</name>  
  3. <value>3600</value>  
  4. <description>The number of seconds between two periodic checkpoints.  
  5. </description>  
  6. </property> 
  7. <property>  
  8. <name>fs.checkpoint.size</name>  
  9. <value>67108864</value>  
  10. <description>The size of the current edit log (in bytes) that triggers  
  11. a periodic checkpoint even if the fs.checkpoint.period hasn't expired.  
  12. </description>  
  13. </property> 
  1. 客戶端上傳文件時,namenode首先往edits log寫入文件中記錄元數據操作日志。
  2. 客戶端開始上傳文件,完成后返回成功信息給namenode,namenode就在內存中寫入這次上傳操作新產生的操作日志。
  3. 每當edits log 寫滿時,需要將這一段時間的新的元數據刷新到fsimage文件中,就是將edits log 和 fsimage 做合并。

流程圖:

 

Hadoop 之 NameNode 元數據原理

 

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2013-05-28 09:12:59

Hadoop 2.0

2012-07-11 17:21:23

HadoopHDFS

2019-04-18 11:37:49

NameNodeHDFS架構

2013-07-11 13:39:23

Hadoop

2021-03-28 22:46:52

NameNodeHDFS大數據

2018-07-11 13:33:43

大數據人工智能Hadoop

2014-11-11 10:47:19

hadoop數據流

2018-05-03 10:00:23

HBase運維數據

2019-10-16 10:34:33

數據庫大數據腳本語言

2022-10-24 00:26:51

大數據Hadoop存儲層

2017-10-19 15:34:52

Hadoop技術機制學習

2011-08-30 16:26:34

Hadoop

2021-09-01 14:36:14

鴻蒙HarmonyOS應用

2014-07-29 10:38:25

大數據Hadoop

2016-10-27 13:40:02

編程語言 數據庫

2018-09-18 15:21:47

Hive數據倉庫程序

2021-09-01 10:37:25

鴻蒙HarmonyOS應用

2010-06-04 09:43:47

hadoop應用

2018-02-02 16:15:02

Hadoop數據遷移集群

2022-07-20 15:10:38

Docker大數據平臺
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久九精品 | 欧美成年网站 | 成人毛片网站 | 久久综合狠狠综合久久综合88 | 国产91在线播放精品91 | 操一草 | 欧美日韩在线视频一区二区 | 国产成人小视频 | 天天干视频 | 国产精品伦一区二区三级视频 | 久久亚洲国产精品日日av夜夜 | 精品亚洲一区二区 | 国产精品美女久久久 | 羞羞的视频在线观看 | 免费亚洲网站 | 久草新在线 | 亚洲毛片在线观看 | 国久久| 成人动漫视频网站 | 午夜在线免费观看视频 | 欧美 中文字幕 | 亚洲精品区 | 免费一区二区在线观看 | 精精精精xxxx免费视频 | av片网站| 欧美日韩成人在线 | 国产精品区一区二区三 | 久久天天| 精品国产91乱码一区二区三区 | 亚洲成人精品一区 | 中文字幕一区二区三区四区五区 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 欧美不卡一区二区 | 先锋资源吧 | 久草资源在线 | 中文字幕视频在线看5 | 国产精品99免费视频 | 亚洲欧美一区二区三区在线 | 五月综合激情网 | 91在线成人 | 一级全黄少妇性色生活免费看 |