如何释放Dataproc中块池使用的空间

问题描述 投票:1回答:1

我已经开始了一个火花流工作,该工作流从kafka传输数据。我仅分配了两个带有15gb磁盘的工作节点进行测试。在2个小时内磁盘已满,并且在YARN Resource Manager网站上这些节点的状态显示为不正常界面,并且我检查了HDFS Web界面,该界面显示“块池”已使用了95%的磁盘空间。问题是我没有在节点上存储任何数据,只是从kafka读取数据,进行处理并存储到MongoDB。

apache-spark spark-streaming google-cloud-dataproc
1个回答
0
投票
Dataproc基本映像至少需要占用几GB的空间,所以每个工作人员剩下10GB的空间。

我可以想到磁盘空间的两种主要用法:

1)如果已启用检查点(例如ssc.checkpoint(dir)):https://spark.apache.org/docs/latest/streaming-programming-guide.html#checkpointing。可能是在HDFS上。

如果您认为HDFS是问题,可以将ssh插入主节点,然后运行hdfs dfs -ls -R /以查找哪些文件占用了空间。

2)临时洗牌数据在阶段之间写入磁盘

这在流作业中不太可能,但是值得检查HDFS是否使用了太多空间。您可以运行du查找占用空间的目录,我敢打赌它位于nm-local-dirs中:https://linuxhint.com/disk_space_directory_command_line/

所有这些,15GB是一个非常非常小的磁盘大小。与计算相比,PD相对便宜,我建议只使用更大的启动磁盘。如果您想降低成本,请考虑使用e2机器类型。

© www.soinside.com 2019 - 2024. All rights reserved.