Я новичок в hadoop, и последние пару часов я пытался найти эту проблему в Google, но не смог найти ничего, что могло бы помочь.Моя проблема в том, что HDFS говорит, что файл все еще открыт, хотя процесс записи в него давно мертв.Это делает невозможным чтение из файла.
Я запустил fsck в каталоге, и он сообщает, что все в порядке.Однако, когда я запускаю "hadoop fsck -fs hdfs: // hadoop / logs / raw / directory_conisting_file -openforwrite", я получаю
Status: CORRUPT
Total size: 222506775716 B
Total dirs: 0
Total files: 630
Total blocks (validated): 3642 (avg. block size 61094666 B)
********************************
CORRUPT FILES: 1
MISSING BLOCKS: 1
MISSING SIZE: 30366208 B
********************************
Minimally replicated blocks: 3641 (99.97254 %)
Over-replicated blocks: 0 (0.0 %)
Under-replicated blocks: 0 (0.0 %)
Mis-replicated blocks: 0 (0.0 %)
Default replication factor: 2
Average block replication: 2.9991763
Corrupt blocks: 0
Missing replicas: 0 (0.0 %)
Number of data-nodes: 23
Number of racks: 1
Повторное выполнение команды fsck над файлом openforwrite я получаю
.Status: HEALTHY
Total size: 793208051 B
Total dirs: 0
Total files: 1
Total blocks (validated): 12 (avg. block size 66100670 B)
Minimally replicated blocks: 12 (100.0 %)
Over-replicated blocks: 0 (0.0 %)
Under-replicated blocks: 0 (0.0 %)
Mis-replicated blocks: 0 (0.0 %)
Default replication factor: 2
Average block replication: 3.0
Corrupt blocks: 0
Missing replicas: 0 (0.0 %)
Number of data-nodes: 23
Number of racks: 1
У кого-нибудь есть идеи, что происходит и как я могу это исправить?