【问题标题】:spring cloud data flow running out of disk space春天云数据流耗尽磁盘空间
【发布时间】:2018-10-22 04:07:27
【问题描述】:

SCDF 在 PCF 上启动了大量任务(约 30 个),但是我们遇到了 SCDF 的磁盘空间问题,该问题似乎是由于每次调用任务时 SCDF 下载工件所致。

  1. 我们案例中的工件是从一个 REST 端点 https://service/{artifact-name-version.jar} 下载的(它又从 S3 存储库提供它)
  2. 每次调用任务时,SCDF 似乎都会下载工件(到 ~tmp/spring-cloud-deployer 目录)验证 sha1 哈希以确保它是最新的,然后再在 PCF 上启动任务
  3. 下载的工件永远不会被清理

不希望每次都下载工件并填满 PCF 上 SCDF 实例的 ~tmp/ 中的磁盘空间。 如果工件已经存在,有没有办法告诉 SCDF 不要下载它?

另外,有人可以解释一下工件下载的机制,比较sha1哈希和启动任务(以及它周围的各种选项)

谢谢!

【问题讨论】:

    标签: spring-boot cloud-foundry spring-cloud-dataflow pcfdev


    【解决方案1】:

    SCDF 在服务器端出于以下原因下载工件。

    1) 元数据(应用程序属性)检索 - 如果您有明确的元数据资源,则仅下载该资源 2)相应的部署者(本地,CF)最终会在发送部署请求/启动请求之前下载工件。

    下载工件时,哈希值用于创建唯一的临时文件。

    如果工件已经存在,有没有办法告诉 SCDF 不要下载它?

    总是下载基于 HTTP(或任何基于 URL 而非 maven、docker 的显式 URL)的工件,因为特定 URL 中的资源可以替换为其他资源,而我们不这样做'在这种情况下不想使用缓存。

    此外,我们最近弃用了缓存清理机制,因为它没有得到有效使用。

    如果您的用例(由于此特定磁盘空间限制无法处理缓存多个工件)需要此缓存清理功能,请创建 Github 请求 here

    我们还考虑在部署/启动后删除基于 HTTP 的工件。现在看来值得重温。

    【讨论】:

    • 感谢您的回复。如果我们优先考虑此功能,那就太好了 - “在部署/启动后删除基于 HTTP 的工件”
    猜你喜欢
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多