私は5台のLinuxマシンを持っています。 3つのデータノードと1つのマスタがあります。現在、各データノードで約50%のhdfsストレージが利用可能です。しかし、私はMapReduceのジョブを実行し、以下の情報をHadoop使用可能なスペースがある場合、デバイスのerroに空き領域がありません。
Filesystem Size Used Avail Use% Mounted on
devtmpfs 5.9G 0 5.9G 0% /dev
tmpfs 5.9G 84K 5.9G 1% /dev/shm
tmpfs 5.9G 9.1M 5.9G 1% /run
tmpfs 5.9G 0 5.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 6.8G 44G 14%/
/dev/sdb 1.8T 535G 1.2T 31% /mnt/11fd6fcc-1f87-4f1e-a53c-54cc7117759c
/dev/mapper/centos-home 412G 155G 59M 100% /home
/dev/sda1 494M 348M 147M 71% /boot
tmpfs 1.2G 16K 1.2G 1% /run/user/42
tmpfs 1.2G 0 1.2G 0% /run/user/1000
私のSDBのdicsk(SDD)はわずか31%であることが上記から明らかなように与え、各システムdf -h
にしながら、それは、次のエラー
2017-08-21 17:58:47,627 WARN org.apache.hadoop.hdfs.DFSClient: Error Recovery for blk_6835454799524976171_3615612 bad datanode[0] 10.11.1.42:50010
2017-08-21 17:58:47,628 WARN org.apache.hadoop.hdfs.DFSClient: Error Recovery for block blk_6835454799524976171_3615612 in pipeline 10.11.1.42:50010, 10.11.1.43:50010: bad datanode 10.11.1.42:50010
2017-08-21 17:58:51,785 ERROR org.apache.hadoop.mapred.Child: Error in syncLogs: java.io.IOException: No space left on device
に失敗しましたcentos-homeは100%です。十分なHDFSがある場合、hadoopはmapreduceジョブでローカルファイルシステムを使用していますか?問題はどこだ?私はGoogleで検索して、多くのそのような問題を発見したが、誰も私の状況をカバーしていない。あなたは/etc/hadoop/conf/taskcontroller.cfgでhadoop.log.dir
の値を探し、MapReduceのを使用している場合
あなたの '/ centos-home'のスペースを解放し、問題が解決しないかどうか確認することができます。 – Shanky
糸ログのいくつかはローカルファイルシステムに保存されています。 '/ home'のスペースを空けてみると、問題が解決するはずです。 – daemon12