1. 程式人生 > >hadoop namenode工作機制

hadoop namenode工作機制

其中datanode主要負責資料的儲存,namenode主要負責三個功能,分別是(1)管理元資料  (2)維護目錄樹 (3)響應客戶請求

首先介紹下,元資料格式


hdfs在外界看來就是普通的檔案系統,可以通過路徑進行資料的訪問等操作,但在實際過程儲存中,卻是分佈在各個節點上。如上圖所示,是一條元資料,/test/a.log 是在hdfs檔案系統中的路徑,3是這個檔案的副本數(副本數可以通過在配置檔案中的配置來修改的)。在hdfs中,檔案是進行分塊儲存的,如果檔案過大,就要分成多塊儲存,每個塊在檔案系統中儲存3個副本,以上圖為例,就是分成blk_1和blk_2兩個塊,每個塊在實際的節點中有3個副本,比如blk_1的3個副本分別儲存在h0,h1,h3中。

現在由此引出一個問題,namenode中的元資料是儲存在哪裡的?首先,我們做個假設,如果儲存在namenode節點的磁碟中,因為經常需要進行隨機訪問,還有響應客戶請求,必然是效率過低。因此,元資料需要存放在記憶體中。但如果只存在記憶體中,一旦斷點,元資料丟失,整個叢集就無法工作了!!!因此必須在磁碟中有備份,在磁碟中的備份就是fsImage,存放在namenode節點對應的磁碟中。這樣又會帶來新的問題,當在記憶體中的元資料更新時,如果同時更新fsImage,就會導致效率過低,但如果不更新,就會發生一致性問題,一旦namenode節點斷點,就會產生資料丟失。因此,引入edits.log檔案(只進行追加操作,效率很高)。每當元資料有更新或者新增元資料時,修改記憶體中的元資料並追加到edits.log中。這樣,一旦namenode節點斷電,可以通過fsImage和edits.log的合併,合成元資料。但是,如果長時間新增資料到edit.log中,會導致該檔案資料過大,效率降低,而且一旦斷電,恢復元資料需要的時間過長。因此,需要定期進行fsImage和edits.log的合併,如果這個操作有namenode節點完成,又會效率過低。因此,引入一個新的節點secondaryNamenode,專門用於fsImage和edits.log的合併。

檢查點處理過程的具體步驟如下

1)namenode節點每隔一定時間請求secondaryNamenode合併操作

2)secondaryNamenode請求namenode進行edits.log的滾動,這樣新的編輯操作就能夠進入新的檔案中

3)secondaryNamenode從namenode中下載fsImage和edits.log

4)secondaryNamenode進行fsImage和edits.log的合併,成為fsImage.checkpoint檔案

5)namenode下載合併後的fsImage.checkpoin檔案

6)將fsImage.checkpoint和edits.new命名為原來的檔名(這樣之後fsImage和記憶體中的元資料只差edits.new)

具體的過程如下圖所示

相關推薦

hadoop namenode工作機制

其中datanode主要負責資料的儲存,namenode主要負責三個功能,分別是(1)管理元資料  (2)維護目錄樹 (3)響應客戶請求 首先介紹下,元資料格式 hdfs在外界看來就是普通的檔案系統,可以通過路徑進行資料的訪問等操作,但在實際過程儲存中,卻是分佈在各個節點上。如上圖所示,是一條元資

Hadoop框架:NameNode工作機制詳解

本文原始碼:[GitHub·點這裡](https://github.com/cicadasmile/big-data-parent) || [GitEE·點這裡](https://gitee.com/cicadasmile/big-data-parent) # 一、儲存機制 ## 1、基礎描述 Nam

Namenode工作機制及HDFS的安全模式

檔案系統映像 ( fsimage ) 和 編輯日誌 ( edits ) 當建立或移動檔案時 ,會把操作記錄在編輯日誌中 ,NameNode 在記憶體中維護檔案系統的元資料 ,當編輯日誌被修改時 ,相關的元資料資訊也同步更新 每個 fsimage 檔案都是檔案系統元資料的一個完整的永久性檢查點

NameNode與Secondary NameNode 工作機制

第一階段:namenode啟動 1. 第一次啟動NN格式化後建立fsimage和edits檔案.如果不是第一次啟動,直接載入 編輯日誌和映象檔案到記憶體 2. 客戶端對元資料進行增刪改的請求

NameNode工作機制

NameNode 是整個檔案系統的管理節點。他維護這整個檔案系統的檔案目錄樹,檔案/目錄的元資訊和每個檔案對應的資料塊列表。接受使用者的操作請求。 檔案包扣: fsimage:元資料映象檔案。儲存某一時段NameNode記憶體元資料資訊。 edits:操作日誌檔案 fstim

大資料(六):NameNode工作機制

一、NameNode和Secondary NameNode工作機制 左側為NameNode  右側為Secondary NameNode 1.第一階段:namenode啟動 第一次啟動namenode格式化後,建立fsimage和edits檔案,如果不是第一

Hadoop Mapreduce 工作機制

mat 自定義 rabl one 溢出 實現原理 form rri kvm 一.Mapreduce 中的Combiner package com.gec.demo; import org.apache.hadoop.io.IntWr

hadoopNAMENODE的管理機制工作機制和DATANODE的工作原理

占用 最大 狀態 inux 自動 conda 文件大小 open() 格式 1:分布式文件系統(Distributed File System): (1):數據量越來越多,在一個操作系統管轄的範圍存不下了,那麽就分配到更多的操作系統管理的磁盤中,但是不方便管理和維護

hadoop namenode datanode hdfs工作機制

node 節點 客戶 行合並 滿了 oop 重命名 技術 namenode   大家都知道namenode是hadoop中的一個很重要的節點,因為他存在著跟datanode的交互跟客戶端的交互,存儲著dotanode中的元數據,所以就很想學習他們是如何溝通並能保證數據在任何

hadoop[4]-hdfs分散式檔案系統的基本工作機制

一、Namenode 和 Datanode HDFS採用master/slave架構。一個HDFS叢集是由一個Namenode和一定數目的Datanodes組成。Namenode是一箇中心伺服器,負責管理檔案系統的名字空間(namespace)以及客戶端對檔案的訪問。叢集中的Datanode一般是一個節點一

hadoop[4]-hdfs分布式文件系統的基本工作機制

names 技術 讀寫 在線 inux slave 策略 情況下 重命名文件 一、Namenode 和 Datanode HDFS采用master/slave架構。一個HDFS集群是由一個Namenode和一定數目的Datanodes組成。Namenode是一個中心服務器,

大資料教程(7.3)namenode管理元資料的機制&datanode工作機制介紹

               前面兩篇部落格介紹了HDFS客戶端讀寫資料流程,本篇博主將帶給小夥伴們namenode和datanode的工作機制的分享。  

Hadoop權威指南---MapReduce的工作機制

目錄 ​2 、失敗  總結: map函式--> partition分割槽函式(在記憶體中進行sort排序)-->combiner函式(如果存在,且會符合執行條件)-->map輸

NameNode和SecondaryNameNode工作機制

NameNode和SecondaryNameNode工作機制 1.簡單介紹 2.圖解 2.1原理介紹 2.2流程介紹 2.2.1 第一階段 NameNode啟動 2.2.2 第二階段 Secondary Nam

hadoop】MapReduce工作流程和MapTask、Shuffle、ReduceTask工作機制

MapReduce整個工作流程:一、MapTask階段(1)Read階段:MapTask通過使用者編寫的RecordReader,從輸入InputSplit中解析出一個個key/value。(2)Map階段:該節點主要是將解析出的key/value交給使用者編寫map()函式

hadoop知識點總結(一)hadoop架構以及mapreduce工作機制

1,為什麼需要hadoop       資料分析者面臨的問題                資料日趨龐大,讀寫都出現效能瓶頸;                使用者的應用和分析結果,對實時性和響應時間要求越來越高;                使用的模型越來越複雜,計算量

Hadoop框架:DataNode工作機制詳解

本文原始碼:[GitHub·點這裡](https://github.com/cicadasmile/big-data-parent) || [GitEE·點這裡](https://gitee.com/cicadasmile/big-data-parent) # 一、工作機制 ## 1、基礎描述 ![]

Hibernate 核心接口和工作機制

config hibernate bsp iter ans 安全 c api session tor 主要內容   Configuration類   sessionFactory接口   session接口   Transaction接口   Query 和 criteri

Binder的工作機制淺析

實體類 聲明 工作 xmanager 失敗 pri src android 底層 在Android開發中,Binder主要用於Service中,包括AIDL和Messenger,其中Messenger的底層實現就是AIDL,所以我們這裏通過AIDL來分析一下Binder的工

Hadoop NameNode元數據相關文件目錄解析

沒有 hadoop href dfs com 訪問控制 相關 itl 大量 在《Hadoop NameNode元數據相關文件目錄解析》文章中提到NameNode的$dfs.namenode.name.dir/current/文件夾的幾個文件: 1 current