【问题标题】:Flink: Is the number of Managers related to the number of nodeManagers on yarnFlink:是Manager的个数和yarn上的nodeManager个数有关吗
【发布时间】:2018-09-14 09:43:45
【问题描述】:

我使用'Run a single Flink job on YARN'模式在yarn上运行flink job,命令如下: ./bin/flink run -m yarn-cluster -yn 5 ./examples/batch/WordCount.jar

问题是:

  1. 不管我怎么修改参数: '-yn' ( -yn 2/-yn 3/-yn 4 ....), 纱线集群只为我创建了 1 个 TaskManager 和 1 个 JobManager 工作。我的纱线集群只有 3 个节点(一个资源管理器,两个 nodeManager) 我认为 flink 的 yarn 客户端可能会发现只有 两个 nodeManager 所以客户端只创建两个管理器,一个是 jobmanager,一个是 taskmanager。

  2. 我的flink版本是1.6。

Managers的数量和yarn上nodeManagers的数量有关系吗?

【问题讨论】:

    标签: apache-flink


    【解决方案1】:

    使用-yn,您可以指定要使用的 YARN 容器的数量。每个 YARN 容器都会有一个 Flink TaskManager。所以TaskManager的数量与YARN NodeManager的数量无关。

    您确定有足够的内存和 vCore 可用于启动总共 6 个容器(1 个 JobManager 和 5 个 TaskManager)吗?如果是这样,日志说明了启动作业时 TaskManager 的数量、插槽和并行度?

    【讨论】:

    • Thx,我想我已经从阅读源代码中找到了原因。'在 YARN 上运行单个 Flink 作业'模式就像 flink 先创建一个 jobManager 然后提交的'纱线模式'把工作交给工作经理。这样,我们就有了两个重要的参数:-p(parallelism)和-ys(slots)。如果p是6,slots是2,那么集群会创建3(6/2)个taskManager,参数-yn不是有效的。并行度的默认值为1,所以无论我设置什么yn参数,集群只为我创建一个taskManager。
    • flink在哪里计算taskmanagers的数量?我找不到它,现在很困惑。
    【解决方案2】:

    我想我找到了原因。'Run a single Flink job on YARN' mode就像'yarn mode' flink先创建一个jobManager,然后将job提交给jobmanager。

    这样,我们有两个重要的参数:-p(parallelism)和-ys(slots)。如果p是6,slots是2,那么集群会创建3(6/2)个taskManager,参数- yn 无效。并行度的默认值为1,所以无论我设置什么yn参数,集群只为我创建一个taskManager。

    【讨论】:

      猜你喜欢
      • 2013-07-27
      • 1970-01-01
      • 2021-09-22
      • 2015-12-09
      • 2018-07-24
      • 1970-01-01
      • 2020-12-27
      • 2015-08-20
      • 2020-05-03
      相关资源
      最近更新 更多