【问题标题】:How to set -Xmx for Spring CDF app running on Kubernetes?如何为在 Kubernetes 上运行的 Spring CDF 应用程序设置 -Xmx?
【发布时间】:2017-11-16 15:56:39
【问题描述】:

根据documentation,我应该能够使用deployer.time.memory 属性设置应用程序的-Xmx

我创建了以下流定义:

dataflow:>stream create --name ticktock --definition "time | log"

我已经尝试通过多种方式将其部署在我的 Kubernetes CDF 上:

dataflow:>stream deploy --name ticktock --properties "deployer.time.memory=2048m"

dataflow:>stream deploy --name ticktock --properties "deployer.time.local.memory=2048m"

dataflow:>stream deploy --name ticktock --properties "deployer.time.local.javaOpts=2048m"

每次部署后,我都会运行以下命令:

# ps aux | grep time | grep -i xmx
#

# docker ps
CONTAINER ID        IMAGE                                                COMMAND                  CREATED             STATUS              PORTS               NAMES
52a31b764112        springcloudstream/time-source-rabbit:1.2.0.RELEASE   "java -jar /maven/tim"   7 minutes ago       Up 7 minutes                            k8s_ticktock-time.a4ab30e_ticktock-time-kqckg_default_53b3e059-5049-11e7-a0d4-000c29df937a_3cc76216

为什么-Xmx 没有在time 应用上设置?

【问题讨论】:

    标签: java spring kubernetes spring-cloud-dataflow


    【解决方案1】:

    您上面提到的属性是 local 部署程序属性,而不是 kubernetes 部署程序属性。对于 Kubernetes 部署属性,您可以参考此处的文档:http://docs.spring.io/spring-cloud-dataflow-server-kubernetes/docs/current-SNAPSHOT/reference/htmlsingle/

    【讨论】:

    • 一开始我也是这么想的,但是我找不到任何设置-Xmx的章节。这是否意味着无法设置它?
    • 有几个选项可以传递应用程序属性。它由spring.cloud.deployer.kubernetes.entryPointStyle 控制,它采用execshellboot 作为选项,默认为exec。如果这被设置为全局部署者属性,deployer.time.memory 应该考虑在内。或者,如果您尝试覆盖所有应用程序的内存,您也可以使用 spring.cloud.deployer.kubernetes.memory 作为全局属性。
    • 我已将所有应用程序的 kubernetes 内存限制设置为 2 GiB。我想在应用程序之间设置 -Xmx,因为没有它,docker 中的 java 不能很好地工作。所以我不想全局设置它。 spring.cloud.deployer.kubernetes.entryPointStyle 是默认值,但你可以从我的问题中看到我已经通过 deployer.time.memory 但没有 -Xmx 传递给 java 进程。
    • 抱歉耽搁了。有一个未记录的 spring.cloud.deployer.kubernetes.environmentVariables 属性可用于覆盖内存分配,而不是依赖于默认值。您可以向此属性传递选项,例如,JAVA_OPTIONS=-Xmx2048m 作为值。我们将通过spring-cloud/spring-cloud-dataflow-server-kubernetes#200 记录这一点
    猜你喜欢
    • 2022-01-12
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 2022-01-12
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多