私はHadoopを初めて使用し、この問題をグーグルで検索するために過去2時間を費やしましたが、役立つものは何も見つかりませんでした。私の問題は、HDFSが、ファイルへの書き込みプロセスが長い間停止しているにもかかわらず、ファイルがまだ開いていると言っていることです。これにより、ファイルからの読み取りが不可能になります。
ディレクトリでfsckを実行すると、すべてが正常であると報告されます。ただし、「hadoop fsck -fs hdfs:// hadoop / logs / raw / directory_taining_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
openforwriteであるファイルに対してfsckコマンドを再度実行すると、
.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
誰かが何が起こっているのか、そしてどうすればそれを修正できるのかについて何か考えがありますか?