元數據管理


1、什么是元數據?

hdfs的目錄結構及每一個文件的塊信息(塊的id,塊的副本數量,塊的存放位置<datanode>

 

2、元數據由誰負責管理?

namenode

 

3、namenode把元數據記錄在哪里?

namenode的實時的完整的元數據存儲在內存中;

namenode還會在磁盤中(dfs.namenode.name.dir)存儲內存元數據在某個時間點上的鏡像文件;

namenode會把引起元數據變化的客戶端操作記錄在edits日志文件中;

 

 

secondarynamenode會定期從namenode上下載fsimage鏡像和新生成的edits日志,然后加載fsimage鏡像到內存中,然后順序解析edits文件,對內存中的元數據對象進行修改(整合)

整合完成后,將內存元數據序列化成一個新的fsimage,並將這個fsimage鏡像文件上傳給namenode

 

上述過程叫做:checkpoint操作

提示:secondary namenode每次做checkpoint操作時,都需要從namenode上下載上次的fsimage鏡像文件嗎?

第一次checkpoint需要下載,以后就不用下載了,因為自己的機器上就已經有了。

 

 

 

 

 

 

 

 

 

 

 

補充:secondary namenode啟動位置的配置

 

默認值

<property>

  <name>dfs.namenode.secondary.http-address</name>

  <value>0.0.0.0:50090</value>

</property>

 

 

 

把默認值改成你想要的機器主機名即可

 

 

 

secondarynamenode保存元數據文件的目錄配置:

 

默認值

<property>

  <name>dfs.namenode.checkpoint.dir</name>

  <value>file://${hadoop.tmp.dir}/dfs/namesecondary</value>

</property>

 

 

 

改成自己想要的路徑即可:/root/dfs/namesecondary

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM