如何释放Dataproc中块池使用的空间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何释放Dataproc中块池使用的空间相关的知识,希望对你有一定的参考价值。
我已经开始了一个火花流工作,该工作流从kafka传输数据。我仅分配了两个带有15gb磁盘的工作节点进行测试。在2个小时内磁盘已满,并且在YARN Resource Manager网站上这些节点的状态显示为不正常界面,并且我检查了HDFS Web界面,该界面显示“块池”已使用了95%的磁盘空间。问题是我没有在节点上存储任何数据,只是从kafka读取数据,进行处理并存储到MongoDB。
我可以想到磁盘空间的两种主要用法:
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
机器类型。
以上是关于如何释放Dataproc中块池使用的空间的主要内容,如果未能解决你的问题,请参考以下文章
ha hdfs : 块池 <registering> 初始化失败(未分配 Datanode Uuid)
如何设置 sparkmagic 以通过 Livy 使用 DataProc?
如何在 dataproc 集群上重新启动 hadoop 服务