数据节点磁盘已满,因为有大量文件作为标准输出

时间:2019-01-03 17:36:16

标签: hadoop yarn datanode

我们有以下Hadoop集群版本,(DATA-NODE机器在Linux OS版本7.2上)

ambari-2.6.1 HDP-2.6.4

我们很少看到datanode机器上的磁盘已满100%的情况

那是因为- stdout 之类的文件很大

例如

/grid/sdb/hadoop/yarn/log/application_151746342014_5807/container_e37_151003535122014_5807_03_000001/stdout

从df -h,我们可以看到

df -h /grid/sdb
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb        1.8T  1.8T  0T   100% /grid/sdb

关于如何避免这种情况的任何建议,即stdout很大,实际上这个问题会导致停止datanode上的HDFS组件,

秒: 因为stdout的路径是:

/var/log/hadoop-yarn/containers/[application id]/[container id]/stdout

是否可以限制文件大小? 还是在文件达到阈值时清除stdout?

1 个答案:

答案 0 :(得分:0)

看上面的路径,看来您的应用程序(Hadoop Job)正在将大量数据写入stdout文件中。通常,当Job使用data函数或类似功能将stdout写入System.out.println时,这种情况不是必需的,但有时可以用来调试代码。

请检查您的应用程序代码,并确保它不会写入stdout

希望这会有所帮助。