datanode磁盘已满,因为像stdout这样的大文件

ecfdbz9o  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(457)

我们有以下hadoop集群版本,(数据节点机器在linux操作系统版本-7.2上)
Ambari-2.6.1 hdp-2.6.4
我们很少看到数据节点机器上的磁盘100%满的情况
这是因为作为标准输出的文件很大
例如

/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

可以限制文件大小吗?或者在文件达到阈值时清除标准输出?

z6psavjg

z6psavjg1#

查看上面的路径,您的应用程序(hadoop作业)似乎正在向其写入大量数据 stdout 文件。这通常发生在作业写入时 datastdout 使用 System.out.println 不需要但有时可以用来调试代码的函数或类似函数。
请检查您的应用程序代码,并确保它不会写入 stdout .
希望这有帮助。

相关问题