как найти файл из blockName в HDFS hadoop
каков самый простой способ найти файл, связанный с блоком в HDFS с именем блока / ID
2 ответов
долгий и болезненный путь, предполагая, что у вас есть доступ для чтения ко всем файлам (и выполнить для каталогов):
hadoop fsck / -files -blocks | grep blk_520275863902385418_1002 -B 20
затем отсканируйте резервную копию с вашего блочного соответствия предыдущему имени файла:
/hadoop/mapred/system/jobtracker.info 4 bytes, 1 block(s): OK
0. blk_520275863902385418_1002 len=4 repl=1
В этом случае blk_5202... является частью
программно это не интерфейс к узлу имени, который позволяет выполнять поиск по идентификатору блока, но вы можете посмотреть в источник для вторичного узла имени и посмотреть, как он консолидирует изменения-затем поэкспериментируйте с сохраненным выводом из узла вторичного имени (вместо того, чтобы рисковать работой над файлом узла live name).
удачи!
Не уверен, когда это было введено, но вы можете сделать это
hdfs fsck -blockId <block_id>
hdfs fsck -blockId blk_1100790203
Connecting to namenode
FSCK started by hdfs
Block Id: blk_1100790203
Block belongs to: /common/FFL1447685899336.txt