在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。
我们有 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。