【问题标题】:Apache Flink : Available task slots 0Apache Flink:可用任务槽 0
【发布时间】:2022-03-29 10:31:17
【问题描述】:

我已经在 windows 终端中通过 start-cluster.bat 启动了一个 Flink Cluster。

用一个 JobManager 进程和一个 TaskManager 进程启动一个本地集群。 您可以在生成的 shell 窗口中通过 CTRL-C 终止进程。 http://localhost:8081/默认的Web界面。

我能够访问 localhost URL,但可用任务槽被指定为 0。默认情况下,它应该有一个任务(在 yamlfile 中配置)。有人有类似的问题吗?

【问题讨论】:

  • 您能否检查与任务管理器相关的日志错误。好像任务管理器启动失败了
  • 这个问题实际上是stackoverflow.com/q/60342411/2000823的副本。
  • 这能回答你的问题吗? [flink]Task manager initialization failed
  • 我也有类似的问题,每次启动集群,它都会工作。但是如果我取消作业并运行一个新作业,任务槽可能会丢失(可用 0 已使用 0)
  • 类似的问题。我认为如果作业失败,任务槽将丢失是没有意义的......

标签: hadoop apache-flink flink-streaming


【解决方案1】:

您的流程开始了吗?您的 JobManager 启动可能失败。也可能是您的系统检查不足。

【讨论】:

    【解决方案2】:

    一种可能的解决方案:
    将远程 JVM 调试器附加到 TaskManager。
    或:suspend=n 我的案例:

            FLINK_PROPERTIES=
        jobmanager.rpc.address: jobmanager
        taskmanager.memory.process.size: 2728m
        taskmanager.memory.flink.size: 2280m
        taskmanager.numberOfTaskSlots: 4
        env.java.opts: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005"
        parallelism.default: 4
    

    之前:
    JobManager 和 TaskManager 可以在正确配置内存的情况下正常启动。任务管理器日志:

    Starting taskexecutor as a console application on host bb166efde8f4.
    
    Listening for transport dt_socket at address: 5005
    

    提交作业后,它会尝试创建大约 3 分钟。然后以 NoResourceAvailableException 失败。此外,仪表板显示可用任务槽为 0。

    解决方案:

    • 在 IDEA 中设置 Remote JVM Debug 如下:
      -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 attach to remote jvm at localhost 5005
    • 启动调试器。
    • 提交作业。
      或者您可以在环境变量中设置suspend=n 而不是suspend=y
      现在可用的任务槽是 4。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多