Я пытаюсь понять 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 получает адрес блока? Я сомневаюсь, что NN читает fsimage
для восстановления информации о файловой системе, но fsimage
не имеет информации о расположении блока, так как же восстанавливается эта информация?
3) Верно ли, что fsimage
хранит только BLOCK ID, и если да, то является ли BLOCK ID уникальным для разных узлов данных? BLOCK ID совпадает с BLOCK address?