有人能解释一下YARN上高性能flink作业的最佳配置和并行性吗?
我使用Cloudera Hadoop有4个节点(1个主节点+ 3个工作节点),每个节点有12个CPU和96 Gb内存。
纱线特性很少
我发现当我开始使用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作业的性能。所以我的问题是:
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
设置太高的值。-jm
标志设置为4 Gb进行flink会话?对此有任何建议吗?请解释一下,它对网络流量,垃圾收集,CPU和内存利用率等有何影响?我应该使用哪种配置以获得最佳性能?
感谢您的帮助!