问题描述
我们有1个主节点和7个工作节点的Dataproc集群。 所有工作节点都有1个引导磁盘和1个375 GB(sdb)本地磁盘。 工作节点0、1、2、3的sdb(安装在/ mnt / 1上)的磁盘利用率已达到85%以上,而5,6,7的利用率也逐渐提高到85%。
我们发现以下目录下的文件占了主要部分(304G)
/mnt/1/hadoop/dfs/data/current/BP-XXXXXXX-XX.XX.XX.X-XXXXXXXX/current/finalized。
drwxrwxr-x 4 hdfs hdfs 4.0K Jul 24 16:11 ..
drwxrwxr-x 34 hdfs hdfs 4.0K Jul 26 15:20 subdir0
drwxrwxr-x 34 hdfs hdfs 4.0K Aug 8 13:19 subdir1
drwxrwxr-x 34 hdfs hdfs 4.0K Aug 10 08:16 subdir2
drwxrwxr-x 34 hdfs hdfs 4.0K Aug 17 22:16 subdir3
drwxrwxr-x 34 hdfs hdfs 4.0K Aug 23 02:49 subdir4
drwxrwxr-x 34 hdfs hdfs 4.0K Aug 27 20:30 subdir5
drwxrwxr-x 34 hdfs hdfs 4.0K Sep 2 08:30 subdir6
drwxrwxr-x 34 hdfs hdfs 4.0K Sep 7 02:21 subdir7
drwxrwxr-x 34 hdfs hdfs 4.0K Sep 12 18:00 subdir8
drwxrwxr-x 34 hdfs hdfs 4.0K Sep 16 22:46 subdir9
drwxrwxr-x 34 hdfs hdfs 4.0K Sep 23 02:45 subdir10
drwxrwxr-x 34 hdfs hdfs 4.0K Sep 28 22:31 subdir11
drwxrwxr-x 34 hdfs hdfs 4.0K Oct 3 19:15 subdir12
drwxrwxr-x 34 hdfs hdfs 4.0K Oct 8 13:30 subdir13
drwxrwxr-x 17 hdfs hdfs 4.0K Oct 12 15:35 .
drwxrwxr-x 34 hdfs hdfs 4.0K Oct 13 04:46 subdir14
cd subdir6
ls -larth 总计688K
drwxrwxr-x 34 hdfs hdfs 4.0K Sep 2 08:30 .
drwxrwxr-x 2 hdfs hdfs 20K Sep 5 22:35 subdir0
drwxrwxr-x 2 hdfs hdfs 20K Sep 5 22:51 subdir1
drwxrwxr-x 2 hdfs hdfs 20K Sep 5 23:34 subdir2
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 00:28 subdir4
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 00:50 subdir5
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 01:36 subdir6
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 01:50 subdir7
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 02:21 subdir8
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 02:50 subdir9
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 03:19 subdir10
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 03:38 subdir11
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 04:19 subdir12
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 04:38 subdir13
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 05:20 subdir14
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 05:49 subdir15
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 06:19 subdir16
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 07:20 subdir18
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 08:06 subdir20
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 08:24 subdir21
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 08:50 subdir22
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 09:23 subdir23
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 09:39 subdir24
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 10:05 subdir25
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 10:26 subdir26
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 11:02 subdir27
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 11:36 subdir28
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 12:04 subdir29
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 12:24 subdir30
drwxrwxr-x 2 hdfs hdfs 20K Sep 6 12:53 subdir31
drwxrwxr-x 2 hdfs hdfs 20K Sep 10 16:12 subdir17
drwxrwxr-x 2 hdfs hdfs 20K Sep 12 16:13 subdir3
drwxrwxr-x 2 hdfs hdfs 20K Sep 13 16:13 subdir19
drwxrwxr-x 17 hdfs hdfs 4.0K Oct 12 15:35 ..
XXXX /当前/已完成/ subdir6#cd subdir0 XXXXX /当前/已完成/ subdir6 / subdir0#ls -larth 总计726M
-rw-rw-r-- 1 hdfs hdfs 39K Sep 1 18:35 blk_1074135056_394248.Meta
-rw-rw-r-- 1 hdfs hdfs 4.8M Sep 1 18:35 blk_1074135056
-rw-rw-r-- 1 hdfs hdfs 38K Sep 1 18:36 blk_1074135053_394245.Meta
-rw-rw-r-- 1 hdfs hdfs 4.8M Sep 1 18:36 blk_1074135053
-rw-rw-r-- 1 hdfs hdfs 40K Sep 1 18:36 blk_1074135055_394247.Meta
-rw-rw-r-- 1 hdfs hdfs 5.0M Sep 1 18:36 blk_1074135055
-rw-rw-r-- 1 hdfs hdfs 39K Sep 1 18:36 blk_1074135049_394241.Meta
-rw-rw-r-- 1 hdfs hdfs 4.9M Sep 1 18:36 blk_1074135049
-rw-rw-r-- 1 hdfs hdfs 45K Sep 1 18:38 blk_1074135057_394249.Meta
-rw-rw-r-- 1 hdfs hdfs 5.6M Sep 1 18:38 blk_1074135057
-rw-rw-r-- 1 hdfs hdfs 39K Sep 1 18:47 blk_1074135070_394262.Meta
-rw-rw-r-- 1 hdfs hdfs 4.8M Sep 1 18:47 blk_1074135070
-rw-rw-r-- 1 hdfs hdfs 24K Sep 1 18:47 blk_1074135097_394289.Meta
-rw-rw-r-- 1 hdfs hdfs 2.9M Sep 1 18:47 blk_1074135097
-rw-rw-r-- 1 hdfs hdfs 36K Sep 1 18:49 blk_1074135141_394333.Meta
-rw-rw-r-- 1 hdfs hdfs 4.5M Sep 1 18:49 blk_1074135141
-rw-rw-r-- 1 hdfs hdfs 23K Sep 1 18:49 blk_1074135142_394334.Meta
-rw-rw-r-- 1 hdfs hdfs 2.9M Sep 1 18:49 blk_1074135142
-rw-rw-r-- 1 hdfs hdfs 36K Sep 1 18:49 blk_1074135134_394326.Meta
-rw-rw-r-- 1 hdfs hdfs 4.5M Sep 1 18:49 blk_1074135134
-rw-rw-r-- 1 hdfs hdfs 38K Sep 1 18:50 blk_1074135071_394263.Meta
---------------------------许多这样的文件---------------
-rw-rw-r-- 1 hdfs hdfs 37K Sep 5 22:23 blk_1074192610_451802.Meta
-rw-rw-r-- 1 hdfs hdfs 4.6M Sep 5 22:23 blk_1074192610
-rw-rw-r-- 1 hdfs hdfs 37K Sep 5 22:26 blk_1074192592_451784.Meta
-rw-rw-r-- 1 hdfs hdfs 4.6M Sep 5 22:26 blk_1074192592
-rw-rw-r-- 1 hdfs hdfs 44K Sep 5 22:33 blk_1074192633_451825.Meta
-rw-rw-r-- 1 hdfs hdfs 5.5M Sep 5 22:33 blk_1074192633
删除这些内容的最佳方法是什么?
非常感谢您提供此信息。我已经执行了命令。
~# hadoop fs -du -h /
136 /hadoop
0 /tmp
1017.5 G /user
# hadoop fs -du -h /user/spark/
1012.7 G /user/spark/eventlog
事件日志似乎占用了将近1TB
:~# hdfs dfsadmin -report
Configured Capacity: 2766820474880 (2.52 TB)
Present Capacity: 2539325628659 (2.31 TB)
DFS Remaining: 331457595322 (308.69 GB)
DFS Used: 2207868033337 (2.01 TB)
DFS Used%: 86.95%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
Pending deletion blocks: 0
-------------------------------------------------
Live datanodes (7):
Name: XXXXXX
Hostname: XXXXXX-w-0.c.XXXXXXXX
Decommission Status : normal
Configured Capacity: 395260067840 (368.11 GB)
DFS Used: 328729737718 (306.15 GB)
Non DFS Used: 10792138250 (10.05 GB)
DFS Remaining: 34530736445 (32.16 GB)
DFS Used%: 83.17%
DFS Remaining%: 8.74%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 18
Last contact: Wed Oct 14 17:52:46 UTC 2020
Last Block Report: Wed Oct 14 14:32:42 UTC 2020
================ 以上是调整后的输出。其余6个节点的磁盘使用率几乎相同。
-
删除事件日志是否安全?我的意思是这会妨碍任何正在运行的作业或群集吗?
-
〜#hadoop fs -du -h / user / spark / eventlog | wc -l
236757
所有文件的大小接近5〜6MB。有什么命令可以删除至少7天的匹配文件?
解决方法
您列出的目录供HDFS使用,您可以在主节点上运行以下命令来确定哪些HDFS文件正在占用空间:
hdfs dfs -du <dir>
hdfs dfsadmin -report
您可以使用以下方式删除不需要的文件
hdfs dfs -rm -r -f -skipTrash <path>
在HDFS commands guide中查看更多详细信息。还有一些不错的scripts和tools可能有用。
请注意/user/spark/eventlog
和/tmp/hadoop-yarn/staging/history
,它们通常随着您执行更多工作而增长。
增加HDFS容量
在标识和删除不需要的文件之前,为防止HDFS空间用尽,您可以为群集添加更多工作节点,以减轻影响:
gcloud dataproc clusters update <cluster> --num-workers=<num>
在scaling Dataproc clusters中查看更多详细信息。
火花事件日志
如果是由Spark事件日志或历史文件引起的,则对于活动集群,请考虑在/etc/spark/conf/spark-defaults.conf
中添加以下属性:
spark.history.fs.cleaner.enabled=true
spark.history.fs.cleaner.interval=1d
spark.history.fs.cleaner.maxAge=7d
然后使用重新启动Spark历史记录服务器
sudo systemctl restart spark-history-server.service
它将为您清理旧文件。您可以将间隔更改为较小的值,例如10m
,如果您希望间隔更频繁地运行。
对于新集群,添加以下属性
gcloud dataproc clusters create ... \
--properties spark:spark.history.fs.cleaner.enabled=true,spark:spark.history.fs.cleaner.interval=1d,spark:spark.history.fs.cleaner.maxAge=7d
在相关的Spark配置上查看此doc。顺便说一句,您可以在Dataproc web UI中查看Spark作业历史记录,并且在清理了一些旧的历史记录文件之后,应该会看到较少的项目。