开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

想问下flink这个报错 是啥原因啊?

1aea046144e9f6a17a3b10ef983e07dc.png想问下这个是啥原因啊
节点显示的2 但是点开详情是3recluseflink on k8s standalone application模式recluse然后启动的是3个tm 然后作业设置的是2个并行度reclusestandalone-job.sh start-foreground -D parallelism.default=2 --job-classname runner.Testrecluse这样设置的64b35de1bbd5403582602af88033d7ea.png而且前面这个是1 我没有设置 不知道为啥不一样

展开
收起
防火防爆 2024-08-26 16:48:54 38 0
1 条回答
写回答
取消 提交回答
  • 根据您的描述,遇到的情况是Flink on Kubernetes Standalone模式下,预期配置与实际运行情况不符。具体来说,您设置了2个TaskManager (TM),但实际启动了3个TM实例,并且作业的并行度设为2,而前端显示的TM数量与实际展开详情不符。这里有几个可能的原因和解决方向:

    1. 配置与实际运行差异:首先确认配置文件或启动脚本中是否直接或间接指定了3个TaskManager。有时候默认配置或之前遗留的设置可能会导致意外的实例数量。检查standalone-job.sh脚本及所有相关的配置文件,确保没有其他地方设置了额外的TaskManager数量。

    2. Flink配置覆盖:Flink允许通过命令行参数、配置文件等多种方式设置配置,确保没有其他参数或配置文件中的设置覆盖了您期望的并行度或TaskManager数量。特别是检查是否有环境变量或JVM参数在启动时被传递,影响了配置。

    3. Kubernetes StatefulSet或Deployment配置:如果您是通过Kubernetes的StatefulSet部署的Flink TaskManager,检查StatefulSet的副本数配置是否正确设置为2,而非默认或其他值。有时更新配置但忘记应用到Kubernetes资源会导致显示与实际运行不一致。

    4. Pod或容器重启:Kubernetes可能会因为健康检查失败、资源不足等原因自动重启Pod。检查TaskManager Pod的历史事件,看是否有Pod被重启的情况,这可能导致您观察到的实例数量与当前期望不符。

    5. 并行度与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

    2024-09-03 19:14:54
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载