我们有以下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?
答案 0 :(得分:0)
看上面的路径,看来您的应用程序(Hadoop Job)正在将大量数据写入stdout
文件中。通常,当Job使用data
函数或类似功能将stdout
写入System.out.println
时,这种情况不是必需的,但有时可以用来调试代码。
请检查您的应用程序代码,并确保它不会写入stdout
。
希望这会有所帮助。