请教个问题,flink1.18跑在k8s,任务提交上去,几十秒自动cancel了,flink1.13版本没啥问题,有大佬了解吗?
对于Flink 1.18在K8S上运行自动取消任务的问题,可能的原因有很多。这可能与Flink版本更新后的新特性、Kubernetes集群配置、资源分配等因素有关。原生模式在Flink 1.9以上版本内置了K8S的客户端,可以向K8S申请计算资源,集群资源得到了更高效的利用。在K8S集群上使用Session模式提交Flink作业的过程会分为三个阶段:首先在K8S上启动Flink Session集群;其次通过Flink Client提交作业;最后进行作业调整。因此,你可能需要检查这些环节是否存在配置问题或者网络问题。
此外,关于Prometheus在Flink作业级别上的性能问题,可能是因为作业metrics变化非常频繁,导致Prometheus承受较大压力。虽然这个问题与你的问题不直接相关,但是解决它可能有助于找出Flink任务自动取消的根本原因。
建议你首先查看Flink和K8S的日志,分析是否有异常信息。然后,检查Flink的任务提交流程是否正确,以及K8S集群的资源是否充足。如果问题仍然存在,可以尝试升级或降级Flink版本,以确定问题是否与新版本的特性有关。
任务提交到 K8s 并且几十秒后自动 cancel,可能的原因有很多,包括但不限于:
资源不足:任务可能由于缺乏足够的资源而被取消。请检查 Kubernetes 集群上的资源限制和使用情况,尤其是内存和 CPU。可以监控 Kubernetes 控制面板来确定资源是否足够。
超时设置不当:Kubernetes 组件默认有一个启动容器超时时间(例如 container-start-limit-duration),如果超过了这段时间则任务会被自动取消。您可能需要适当调整 Kubernetes 集群中的相应参数。
Job Manager 长期空闲:Kubernetes 可能会认为长期空闲的 Job Manager 不需要再使用资源而终止它。请检查 Kubernetes 的 pod 删除策略设置是否合理。
作业冲突:如果多个任务同时尝试运行同一个名称的任务,可能导致现有任务被强行取消。请确保任务名称唯一性。
Kubernetes 资源使用权限不够:请确保部署 Flink 集群的账号具有足够的 Kubernetes 资源使用权限。
Kubernetes 集群不稳定:请检查 Kubernetes 集群是否正常运行。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。