Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2020-01-20, 11:46

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 4 篇文章 ] 
發表人 內容
 文章主題 : how much time the EditLong will be updated into FsImage?
文章發表於 : 2014-04-17, 23:08 
離線

註冊時間: 2011-11-11, 23:41
文章: 79
客戶端對 HDFS 執行寫入操作時, 會先記錄於 EditLog, 至一定時間 (default: 1 hr? ) 才會寫入 Fsimage, 請問 hadoop 如何去保持當下該時間點檔案狀況? 倘若該檔案有被更新

舉例說明:
有個 file 為 100MB, client 對 file append 寫 入 1MB 的資料, append 完後此時經由 namenode 管理 web 頁面得知該 fileSize 已更新為 101MB, namenode 從何處得知 101MB 的 metadata 資料?

另 editlog 的資料是 keep 在 memory 嗎?

對 fsimage and editlog 這中間的流程有些疑惑, 找了些資料這部份皆未有太多著磨.


Thanks.


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: how much time the EditLong will be updated into FsImage?
文章發表於 : 2014-04-20, 18:13 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
top 寫:
客戶端對 HDFS 執行寫入操作時, 會先記錄於 EditLog, 至一定時間 (default: 1 hr? ) 才會寫入 Fsimage, 請問 hadoop 如何去保持當下該時間點檔案狀況? 倘若該檔案有被更新
舉例說明:
有個 file 為 100MB, client 對 file append 寫 入 1MB 的資料, append 完後此時經由 namenode 管理 web 頁面得知該 fileSize 已更新為 101MB, namenode 從何處得知 101MB 的 metadata 資料?
另 editlog 的資料是 keep 在 memory 嗎?
對 fsimage and editlog 這中間的流程有些疑惑, 找了些資料這部份皆未有太多著磨.
Thanks.


1. editlog 存放於 ${hadoop.tmp.dir}/dfs/name/current/edits
2. 每小時 SecondaryNameNode 會將 edits 與 fsimage 做一次合併
3. NameNode 這個背景程式啟動時讀取 fsimage 載入記憶體中,執行過程中的檔案更動會快取狀態於記憶體中

- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: how much time the EditLong will be updated into FsImage?
文章發表於 : 2014-04-20, 22:59 
離線

註冊時間: 2011-11-11, 23:41
文章: 79
引言回覆:
3. NameNode 這個背景程式啟動時讀取 fsimage 載入記憶體中,執行過程中的檔案更動會快取狀態於記憶體中


Thanks Jazz,

換句話說, 當 client 送 write request 進來時, 會先去更改存放於 memory 中的 metedata (fsimage), right?!
如此一來, 運行中的 hadoop 才有一份 real time 的 metedata 供存取.
等於 memory 中有 keep 一份與存放於 local 非同步的 fsimag.


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: how much time the EditLong will be updated into FsImage?
文章發表於 : 2014-04-21, 09:48 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
top 寫:
引言回覆:
3. NameNode 這個背景程式啟動時讀取 fsimage 載入記憶體中,執行過程中的檔案更動會快取狀態於記憶體中

Thanks Jazz,
換句話說, 當 client 送 write request 進來時, 會先去更改存放於 memory 中的 metedata (fsimage), right?!
如此一來, 運行中的 hadoop 才有一份 real time 的 metedata 供存取.
等於 memory 中有 keep 一份與存放於 local 非同步的 fsimag.


跟資料庫的原理類似,edit log 就像 transaction log ,
fsimage 就類似真正存放於硬碟中的資料庫/資料表檔案
secondary namenode 就像固定時間會分析 transaction log ,將 SQL transaction 的結果整理進資料庫/資料表檔案的角色一樣。

- Jazz


回頂端
 個人資料 E-mail  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 4 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 2 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作