Как я могу исправить поврежденный fsimage? - PullRequest
0 голосов
/ 12 марта 2020

Я хочу просмотреть файл fsImage, запустив:

hdfs oiv -p Delimited -t tmp -i fsimagefile -o fsimage.csv

Через несколько минут процесс завершится с ошибкой:

Исключение в потоке "main" java .lang.IllegalStateException: Не удается найти родительский каталог для inode 158155, возможно, fsimage поврежден.

Я пробовал несколько раз с разными файлами fsimage, и возникала одна и та же ошибка. На вкладке обзора на веб-странице указано, что есть некоторые файлы, которые могут быть повреждены:

enter image description here

Чтобы выяснить, что же такое индекс 158155 есть, я получаю файл XML для fsimage, выполнив:
hdfs oiv -p XML -i fsimagefile -o fsimage.xml, и индекс 158155 оказался каталогом с именем 'day = 09' в fsimage. xml, что не соответствует любой из поврежденных файлов на картинке выше.

Я долго искал на net, но я не нашел способа восстановить fsimage и получить файл CSV для сейчас же. Я использую apache hadoop2.7,

Буду признателен, если кто-нибудь поможет мне разобраться с этой проблемой

...