Я хочу просмотреть файл fsImage, запустив:
hdfs oiv -p Delimited -t tmp -i fsimagefile -o fsimage.csv
Через несколько минут процесс завершится с ошибкой:
Исключение в потоке "main" java .lang.IllegalStateException: Не удается найти родительский каталог для inode 158155, возможно, fsimage поврежден.
Я пробовал несколько раз с разными файлами fsimage, и возникала одна и та же ошибка. На вкладке обзора на веб-странице указано, что есть некоторые файлы, которые могут быть повреждены:
Чтобы выяснить, что же такое индекс 158155 есть, я получаю файл XML для fsimage, выполнив:
hdfs oiv -p XML -i fsimagefile -o fsimage.xml
, и индекс 158155 оказался каталогом с именем 'day = 09' в fsimage. xml, что не соответствует любой из поврежденных файлов на картинке выше.
Я долго искал на net, но я не нашел способа восстановить fsimage и получить файл CSV для сейчас же. Я использую apache hadoop2.7,
Буду признателен, если кто-нибудь поможет мне разобраться с этой проблемой