Apache flink Flink使用的内存比Kubernetes中的taskmanager.memory.process.size更多
在Flink 1.10.0中,我们尝试使用Apache flink Flink使用的内存比Kubernetes中的taskmanager.memory.process.size更多,apache-flink,Apache Flink,在Flink 1.10.0中,我们尝试使用taskmanager.memory.process.size来限制taskmanager使用的资源,以确保它们不会被Kubernetes杀死。但是,通过以下设置,我们仍然可以获得大量taskmanagerOOMKilled 关于如何正确设置Kubernetes和Flink以避免出现OOMKilled,有什么建议吗 Kubernetes设置与中描述的相同 以下是Kubernetes中taskmanager部署的资源配置: 以下是1.10.0中fli
taskmanager.memory.process.size
来限制taskmanager使用的资源,以确保它们不会被Kubernetes杀死。但是,通过以下设置,我们仍然可以获得大量taskmanagerOOMKilled
关于如何正确设置Kubernetes和Flink以避免出现OOMKilled
,有什么建议吗
- Kubernetes设置与中描述的相同
- 以下是Kubernetes中taskmanager部署的资源配置:
- 以下是1.10.0中
中所有与内存相关的配置:flink-conf.yaml
- 我们使用RocksDB,并且不在
中设置flink-conf.yaml
state.backend.RocksDB.memory.managed
- 不知道如何检查应用程序代码或其依赖项中是否有大量堆外内存分配。有没有建议这样做的工具 以下是我们的附件供参考
- 我们在Flink 1.9.1中使用的配置如下。它没有
OOMKilled
- 库伯内特斯
- 弗林克1.9.1
您是否设置了任何其他与内存相关的选项“taskmanager.memory.*”或任何旧式内存选项都是从1.9或更早版本的Flink中设置的?如果使用RocksDB状态,“state.backend.RocksDB.memory.managed”是否已从默认值更改?您的应用程序代码或其依赖项中是否存在大量堆外内存分配?它与Flink 1.9兼容吗?@azagreebin在帖子中更新了信息。感谢您提供更多详细信息,我是否正确理解您只是在尝试从1.9和1.10迁移相同的作业?基本上,使用1.9的作业的用户代码没有变化,但在迁移到1.10后由于OOMKilled而停止工作,并且它是一个流作业(DataStream API),因为您使用RocksDB状态后端,对吗?
resources:
requests:
cpu: 1000m
memory: 4096Mi
limits:
cpu: 1000m
memory: 4096Mi
jobmanager.heap.size: 820m
taskmanager.memory.jvm-metaspace.size: 128m
taskmanager.memory.process.size: 4096m
val flinkVersion = "1.10.0"
libraryDependencies += "com.squareup.okhttp3" % "okhttp" % "4.2.2"
libraryDependencies += "com.typesafe" % "config" % "1.4.0"
libraryDependencies += "joda-time" % "joda-time" % "2.10.5"
libraryDependencies += "org.apache.flink" %% "flink-connector-kafka" % flinkVersion
libraryDependencies += "org.apache.flink" % "flink-metrics-dropwizard" % flinkVersion
libraryDependencies += "org.apache.flink" %% "flink-scala" % flinkVersion % "provided"
libraryDependencies += "org.apache.flink" %% "flink-statebackend-rocksdb" % flinkVersion % "provided"
libraryDependencies += "org.apache.flink" %% "flink-streaming-scala" % flinkVersion % "provided"
libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.6.7"
libraryDependencies += "org.log4s" %% "log4s" % "1.8.2"
libraryDependencies += "org.rogach" %% "scallop" % "3.3.1"
resources:
requests:
cpu: 1200m
memory: 2G
limits:
cpu: 1500m
memory: 2G
jobmanager.heap.size: 820m
taskmanager.heap.size: 1024m