请详细说明Flink on YARN

时间:2018-05-17 09:44:49

标签: yarn apache-flink

有人能解释一下YARN上高性能flink作业的最佳配置和并行性吗?

我使用Cloudera Hadoop有4个节点(1个主节点+ 3个工作节点),每个节点有12个CPU和96 Gb内存。

纱线特性很少

  • yarn.scheduler.maximum-allocation-mb - 当前值为36Gb
  • yarn.nodemanager.resource.memory-mb - 当前值为36Gb

我发现当我开始使用yarn-session时,我应该将-tm标志设置为不超过36Gb,否则我的应用程序将失败,错误为The cluster does not have the requested resources for the TaskManagers available! Maximum Memory: <...> Requested: <...>MB . Please check the 'yarn.scheduler.maximum-allocation-mb' and the 'yarn.nodemanager.resource.memory-mb' configuration values

我想使用群集上的所有可用资源来提高flink作业的性能。所以我的问题是:

  1. 我应该将上述属性设置为接近96 Gb(即88 Gb)并使用1个TaskManager每个工作节点有12个插槽(3个节点上有3个TaskManagers,总共36个插槽)?在YARN上使用巨大的TaskManagers是否常见?
  2. 或者我应该将yarn.nodemanager.resource.memory-mb设置为88 Gb并将yarn.scheduler.maximum-allocation-mb设置为8 Gb并且每个工作节点使用多个TaskManage?例如,每个节点有6个TaskManagers,每个节点有2个插槽(3个节点上有18个TaskManagers,共有36个插槽)?我已经读过,建议不要为yarn.scheduler.maximum-allocation-mb设置太高的值。
  3. 是否可以将-jm标志设置为4 Gb进行flink会话?对此有任何建议吗?
  4. 请解释一下,它对网络流量,垃圾收集,CPU和内存利用率等有何影响?我应该使用哪种配置以获得最佳性能?

    感谢您的帮助!

0 个答案:

没有答案