线上机器由于不同构导致的配置问题

    线上有16台测试scribe的机群,配置结束后,跑benchmark,没有问题。可是跑过一段时间后,发现很多job被pending住,报的错是:

Error initializing attempt_201204030722_0004_m_000002_0: 
ENOENT: No such file or directory 
        at org.apache.hadoop.io.nativeio.NativeIO.chmod(Native Method) 
        at org.apache.hadoop.fs.FileUtil.execSetPermission(FileUtil.java:692) 
        at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:647) 
        at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509) 
        at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344) 
        at org.apache.hadoop.mapred.JobLocalizer.initializeJobLogDir(JobLocalizer.java:239) 
        at org.apache.hadoop.mapred.DefaultTaskController.initializeJob(DefaultTaskController.java:196) 
        at org.apache.hadoop.mapred.TaskTracker$4.run(TaskTracker.java:1226) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at javax.security.auth.Subject.doAs(Subject.java:416) 
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093) 
        at org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1201) 
        at org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1116) 
        at org.apache.hadoop.mapred.TaskTracker$5.run(TaskTracker.java:2404) 
        at java.lang.Thread.run(Thread.java:636) 

     经过google查询后,确定是由于磁盘空间不足导致的。

     df -h 后发现 / 下面磁盘已经被占满,当时百思不得其解,到底是谁在占用了/ 目录下面的磁盘呢。

     后来在同事的提醒下才发现,这一批机器是不同构的,有10台左右挂载了12个硬盘,有6台只挂载了10个硬盘,所以当用脚本搭建时都是按照12个硬盘来搭建写日志,就写到了/data10 /data11下面,附属于 /  所以很快 / 目录就被写满了。

     从新配置后,重启解决问题。

原文地址:https://www.cnblogs.com/sidmeng/p/2442784.html