在hadoop集群中每天限制清理/tmp是否正确

is it right to limit cleaning /tmp each day in hadoop cluster

我们有 HDP 集群版本 – 2.6.4

安装在 redhat 机器上的集群版本 – 7.2

我们注意到 JournalNodes 机器(master 机器)上存在以下问题

我们有 3 台 JournalNodes 机器,在 /tmp 文件夹下我们有数千个空文件夹

drwx------.  2 hive      hadoop     6 Dec 20 09:00 a962c02e-4ed8-48a0-b4bb-79c76133c3ca_resources

还有很多文件夹,如

drwxr-xr-x.  4 hive      hadoop  4096 Dec 12 09:02 hadoop-unjar6426565859280369566

内容为

beeline-log4j.properties  BeeLine.properties  META-INF  org  sql-keywords.properties

/tmp 应根据配置文件每 10 天清除一次:

more  /usr/lib/tmpfiles.d/tmp.conf
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# See tmpfiles.d(5) for details

# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d

# Exclude namespace mountpoints created with PrivateTmp=yes
x /tmp/systemd-private-%b-*
X /tmp/systemd-private-%b-*/tmp
x /var/tmp/systemd-private-%b-*
X /var/tmp/systemd-private-%b-*/tmp
You have new mail in /var/spool/mail/root

因此我们将保留期减少到 1d 而不是 10d 以避免此问题

那么确实/tmp只有一天的文件夹内容

但是我想请教以下问题

在Hadoop集群中配置关于/tmp的保留时间为1天可以吗?

(我几乎确定没问题,但想听听更多意见)

第二个

为什么 HIVE 会生成数千个空文件夹 XXXX_resources,

是否可以通过 HIVE 服务解决它,而不是限制 /tmp 上的保留

在 /tmp 中有数千个文件夹是很正常的,只要还有空闲 space 可用于正常 运行。许多进程都在使用 /tmp,包括 Hive、Pig 等。/tmp 的一天保留期可能太短,因为通常 Hive 或其他 map-reduce 任务可以 运行 超过一天,尽管这取决于您任务。 HiveServer 应该删除临时文件,但是当任务失败或中止时,文件可能会保留,这也取决于 Hive 版本。最好配置一些保留,因为当 /tmp 中没有 space 时,一切都会停止。

另请阅读这篇关于 HDFS 临时目录保留的Jira