想问下这个是啥原因啊
节点显示的2 但是点开详情是3recluseflink on k8s standalone application模式recluse然后启动的是3个tm 然后作业设置的是2个并行度reclusestandalone-job.sh start-foreground -D parallelism.default=2 --job-classname runner.Testrecluse这样设置的而且前面这个是1 我没有设置 不知道为啥不一样
根据您的描述,遇到的情况是Flink on Kubernetes Standalone模式下,预期配置与实际运行情况不符。具体来说,您设置了2个TaskManager (TM),但实际启动了3个TM实例,并且作业的并行度设为2,而前端显示的TM数量与实际展开详情不符。这里有几个可能的原因和解决方向:
配置与实际运行差异:首先确认配置文件或启动脚本中是否直接或间接指定了3个TaskManager。有时候默认配置或之前遗留的设置可能会导致意外的实例数量。检查standalone-job.sh
脚本及所有相关的配置文件,确保没有其他地方设置了额外的TaskManager数量。
Flink配置覆盖:Flink允许通过命令行参数、配置文件等多种方式设置配置,确保没有其他参数或配置文件中的设置覆盖了您期望的并行度或TaskManager数量。特别是检查是否有环境变量或JVM参数在启动时被传递,影响了配置。
Kubernetes StatefulSet或Deployment配置:如果您是通过Kubernetes的StatefulSet部署的Flink TaskManager,检查StatefulSet的副本数配置是否正确设置为2,而非默认或其他值。有时更新配置但忘记应用到Kubernetes资源会导致显示与实际运行不一致。
Pod或容器重启:Kubernetes可能会因为健康检查失败、资源不足等原因自动重启Pod。检查TaskManager Pod的历史事件,看是否有Pod被重启的情况,这可能导致您观察到的实例数量与当前期望不符。
并行度与TaskManager关系:并行度设置(如parallelism.default=2
)定义了作业可以并行执行的任务数量,这与TaskManager的数量并不直接关联,但会影响整体资源需求。确保并行度设置符合您的资源规划,同时理解增加TaskManager数量并不直接等同于增加作业并行度,而是提供了更多的执行槽位来运行这些并行任务。
综上所述,建议详细审查部署配置、Flink启动参数以及Kubernetes资源定义,以定位导致配置与实际运行不匹配的具体原因。如有必要,可以查看Flink和Kubernetes的日志,进一步排查问题。
相关链接
k8s 的pod挂载了/etc/localtime 后时间和宿主机不一致 https://developer.aliyun.com/ask/651415
弹性伸缩FAQ 节点自动伸缩 常见问题 https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/faq-about-auto-scaling
K8S托管版集群MASTER节点缺省是几个 https://developer.aliyun.com/ask/636539
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。