2017-08-22 57 views
0

我有5臺Linux機羣。有3個數據節點和一個主站。現在,每個數據節點上大約有50%的hdfs存儲可用。但我運行一個MapReduce工作,這是失敗,每個系統df -h跟隨誤差Hadoop當有空間可用時,設備上沒有剩餘空間

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 

雖然給出以下信息

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%使用但是centos-home是100%。 hadoop在mapreduce作業中使用本地文件系統時有足夠的HDFS可用嗎?哪裏有問題?我在谷歌搜索,發現很多這樣的問題,但沒有人涵蓋我的情況。

+0

您可以嘗試釋放'/ centos-home'中的一些空間,然後查看問題是否仍然存在。 – Shanky

+0

一些紗線日誌存儲在本地文件系統中。嘗試釋放'/ home'上的空間,這應該可以解決您的問題。 – daemon12

回答

0

syncLogs不使用HDFS,它如果你使用的MapReduce,尋找的hadoop.log.dir在/etc/hadoop/conf/taskcontroller.cfg值寫入hadoop.log.dir這樣 。

如果您使用的是YARN,請在yarn-site.xml中查找yarn.nodemanager.log-dirs的值。

其中一個應該指出你在哪裏寫你的日誌。一旦你找出哪個文件系統存在問題,你可以從那裏釋放空間。

要記住的另一件事是,如果你已經用盡了你的磁盤上的inode,你可以得到「設備上沒有剩餘空間」。 df -i會顯示這一點。

相關問題