【发布时间】:2020-07-03 20:25:16
【问题描述】:
我们试图在 K8s 集群上部署一个 apache Flink 作业,但我们注意到一个奇怪的行为,当我们开始我们的作业时,任务管理器内存以分配的数量开始,在我们的例子中是 3 GB。
taskmanager.memory.process.size: 3g
最终,内存开始减少,直到达到大约 160 MB,此时,它会恢复一点内存,因此不会到达终点。
即使尝试查看 Flink Dashboard 上的日志或执行作业流程时,非常低的内存也经常导致作业由于任务管理器心跳异常而终止。
为什么内存这么少?我们预计会有这种行为,但在 GB 范围内,因为我们将这些 3Gb 分配给任务管理器,即使我们更改任务管理器内存大小,我们也有相同的行为。
我们的 Flink conf 如下所示:
flink-conf.yaml: |+
taskmanager.numberOfTaskSlots: 1
blob.server.port: 6124
taskmanager.rpc.port: 6122
taskmanager.memory.process.size: 3g
metrics.reporters: prom
metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
metrics.reporter.prom.port: 9999
metrics.system-resource: true
metrics.system-resource-probing-interval: 5000
jobmanager.rpc.address: flink-jobmanager
jobmanager.rpc.port: 6123
在 K8s 上是否有推荐的内存配置或我们在 flink-conf.yml 上缺少的东西?
谢谢。
【问题讨论】:
标签: kubernetes apache-flink flink-streaming