【发布时间】:2017-04-14 09:36:40
【问题描述】:
我正在尝试了解 Namenode,我参考了在线资料并参考了 Hadoop:权威指南一书。
我了解 Namenode 的概念如下:“编辑日志”、“fsimage”,我可以在我的 Namenode 中看到以下文件。
================================================ ==========================
-rw-rw-r-- 1 vevaan24 vevaan24 1048576 Nov 23 22:53 edits_0000000000000000001-0000000000000000001
-rw-r--r-- 1 root root 1048576 Nov 23 23:42 edits_0000000000000000002-0000000000000000002
-rw-rw-r-- 1 vevaan24 vevaan24 1048576 Nov 24 00:07 edits_0000000000000000003-0000000000000000003
-rw-rw-r-- 1 vevaan24 vevaan24 1048576 Nov 24 21:03 edits_0000000000000000004-0000000000000000004
-rw-rw-r-- 1 vevaan24 vevaan24 1048576 Nov 24 22:59 edits_0000000000000000005-0000000000000000005
-rw-r--r-- 1 root root 1048576 Nov 24 23:00 edits_0000000000000000006-0000000000000000006
-rw-rw-r-- 1 vevaan24 vevaan24 1048576 Nov 25 21:15 edits_0000000000000000007-0000000000000000007
-rw-rw-r-- 1 vevaan24 vevaan24 1048576 Nov 25 21:34 edits_0000000000000000008-0000000000000000008
-rw-r--r-- 1 root root 1048576 Nov 26 02:13 edits_inprogress_0000000000000000009
-rw-rw-r-- 1 vevaan24 vevaan24 355 Nov 25 21:15 fsimage_0000000000000000006
-rw-rw-r-- 1 vevaan24 vevaan24 62 Nov 25 21:15 fsimage_0000000000000000006.md5
-rw-r--r-- 1 root root 355 Nov 26 00:12 fsimage_0000000000000000008
-rw-r--r-- 1 root root 62 Nov 26 00:12 fsimage_0000000000000000008.md5
-rw-r--r-- 1 root root 2 Nov 26 00:12 seen_txid
-rw-rw-r-- 1 vevaan24 vevaan24 201 Nov 26 00:12 VERSION
在那本书中提到 fsimage 不会在其中存储块位置。
我有以下问题:
1) edit logs 是否也存储块位置? (对于新交易?)
2)Namenode和Datanode重启时Namenode如何获取block地址?我的疑问是NN读取fsimage重构文件系统信息,但是fsimage没有块位置信息,那么这些信息是如何重构的?
3) fsimage 是否只存储BLOCK ID,如果是,BLOCK ID 在Datanodes 中是否唯一? BLOCK ID和BLOCK地址一样吗?
【问题讨论】: