hadoop 시스템에서 /tmp 정리를 더 잘 관리하는 방법

hadoop 시스템에서 /tmp 정리를 더 잘 관리하는 방법

/tmp의 내용은 일정 시간이 지나면 삭제되어야 하는 것으로 알려져 있다.

제 경우에는 우리 머신(redhat 버전 7.2)이 다음과 같이 구성되었습니다.

보시다시피 정리를 트리거하는 서비스는 /tmp24시간(1d)마다 활성화됩니다.

systemd-tmpfiles-clean.timer내 컴퓨터에서:

more /lib/systemd/system/systemd-tmpfiles-clean.timer
#  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.

[Unit]
Description=Daily Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)

[Timer]
OnBootSec=15min
OnUnitActiveSec=1d

규칙을 담당하는 문서입니다. 이러한 규칙에 따라 파일/폴더가 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

그러나 hadoop 클러스터가 있기 때문에 여기에는 /tmp수천 개의 빈 폴더와 파일은 물론 매우 큰 콘텐츠가 포함된 폴더와 파일이 포함되어 있다는 것을 알게 되었습니다.

예:

drwx------    2 hive      hadoop      6 Dec 19 13:54 2d069b18-f07f-4c8b-a7c7-45cd8cfc9d42_resources
drwx------    2 hive      hadoop      6 Dec 19 13:59 ed46a2a0-f142-4bff-9a7b-f2d430aff26d_resources
drwx------    2 hive      hadoop      6 Dec 19 14:04 ce7dc2ca-7a12-4aca-a4ef-87803a33a353_resources
drwx------    2 hive      hadoop      6 Dec 19 14:09 43fd3ce0-01f0-423a-89e5-cfd9f82792e6_resources
drwx------    2 hive      hadoop      6 Dec 19 14:14 f808fe5b-2f27-403f-9704-5d53cba176d3_resources
drwx------    2 hive      hadoop      6 Dec 19 14:19 6ef04ca4-9ab1-43f3-979c-9ba5edb9ccee_resources
drwx------    2 hive      hadoop      6 Dec 19 14:24 387330de-c6f5-4055-9f43-f67d577bd0ed_resources
drwx------    2 hive      hadoop      6 Dec 19 14:29 9517d4d9-8964-41c1-abde-a85f226b38ea_resources
drwx------    2 hive      hadoop      6 Dec 19 14:34 a46a9083-f097-4460-916f-e431f5790bf8_resources
drwx------    2 hive      hadoop      6 Dec 19 14:39 81379a84-17c8-4b24-b69a-d91710868560_resources
drwx------    2 hive      hadoop      6 Dec 19 14:44 4b8ba746-12f5-4caf-b21e-52300b8712a5_resources
drwx------    2 hive      hadoop      6 Dec 19 14:49 b7a2f98b-ecf2-4e9c-a92f-0da31d12a81a_resources
drwx------    2 hive      hadoop      6 Dec 19 14:54 2a745ade-e1a7-421d-9829-c7eb915982ce_resources
drwx------    2 hive      hadoop      6 Dec 19 14:59 9dc1a021-9adf-448b-856d-b14e2cb9812b_resources
drwx------    2 hive      hadoop      6 Dec 19 15:04 5599580d-c664-4f2e-95d3-ebdf479a33b9_resources
drwx------    2 hive      hadoop      6 Dec 19 15:09 d97dfbb5-444a-4401-ba58-d338f1724e68_resources
drwx------    2 hive      hadoop      6 Dec 19 15:14 832cf420-f601-4549-b131-b08853339a39_resources
drwx------    2 hive      hadoop      6 Dec 19 15:19 cd1f10e2-ad4e-4b4e-a3cb-4926ccc5a9c5_resources
drwx------    2 hive      hadoop      6 Dec 19 15:24 19dff3c0-8024-4631-b8da-1d31fea7203f_resources
drwx------    2 hive      hadoop      6 Dec 19 15:29 23528426-b8fb-4d14-8ea9-2fb799fefe51_resources
drwx------    2 hive      hadoop      6 Dec 19 15:34 e3509760-9823-4e30-8d0b-77c5aee80efd_resources
drwx------    2 hive      hadoop      6 Dec 19 15:39 3c157b4d-917c-49ef-86da-b44e310ca30a_resources
drwx------    2 hive      hadoop      6 Dec 19 15:44 b370af30-5323-4ad5-b39e-f02a0dcdc6bb_resources
drwx------    2 hive      hadoop      6 Dec 19 15:49 18a5ea21-30f9-45a8-8774-6d8200ada7ff_resources
drwx------    2 hive      hadoop      6 Dec 19 15:54 ee776a04-f0e8-4295-9872-f8fc6482913e_resources
drwx------    2 hive      hadoop      6 Dec 19 15:59 f5935653-0bf6-4171-895a-558eef8b0773_resources
drwx------    2 hive      hadoop      6 Dec 19 16:04 e80ea30b-c729-48a2-897d-ae7c94a4fa04_resources
drwx------    2 hive      hadoop      6 Dec 19 16:09 fde6f7e4-89bd-41b4-99d3-17204bf66f05_resources

콘텐츠가 /tmp가득 차서 서비스에서 해당 콘텐츠를 제거할 수 없을까 걱정됩니다.

/tmp따라서 다음을 기반으로 폴더와 파일을 삭제하려고 합니다.

각 폴더/파일은 1일보다 오래되면 삭제됩니다.

그리고 서비스는 1시간마다 시작됩니다

그래서 우리는 다음을 설정하려고 합니다:

OnUnitActiveSec=1h    ( in file /lib/systemd/system/systemd-tmpfiles-clean.timer )

v /tmp 1777 root root 1d (  in file /usr/lib/tmpfiles.d/tmp.conf )

지금 새 설정을 사용하고 있나요?

둘째, 일단 설정이 완료되면 작동하도록 하기 위해 해야 할 일이 있습니까?

답변1

이 조합은 확실히 효과가 있을 것입니다. 그러나 /tmp매시간 모든 것을 삭제하는 것보다 리소스 파일과 디렉터리만 삭제하는 것이 더 나을 것입니다.

R /tmp/*_resources

systemd 및 tmpfiles 구성에 대한 변경 사항은 다음과 같습니다.아니요/usr또는 에서 수행할 수 있습니다 /lib. 대신 해당 재정의를 에 넣으세요 /etc.

echo 'R /tmp/*_resources' >> /etc/tmpfiles.d/hadoop
cp /lib/systemd/system/systemd-tmpfiles-clean.timer \
   /etc/systemd/system/systemd-tmpfiles-clean.timer
$EDITOR /etc/systemd/system/systemd-tmpfiles-clean.timer

파일을 변경하거나 /usr업그레이드 /lib프로세스 중에 충돌이 발생할 수 있습니다.


이미 파일을 변경한 경우 반드시 를 사용하세요 systemctl daemon-reload. 그렇지 않으면 systemd타이머 변경 사항이 수신되지 않습니다.

관련 정보