Dear community,
    我搭建了一个实时计算平台,由于历史遗留问题,目前使用的 Flink 版本是社区版1.5.0,hadoop版本是2.7.3,采用flink on
yarn ha部署,直接部署在物理机上没有使用 K8S,服务启动采用 flink run 脚本提交 yarn per-job 任务。
    目前想将 Flink 版本升级到 1.8 以上的版本,但是遇到了资源控制的问题,情况具体描述如下:
    1.5 版本:
        任务采用 Legacy 运行模式,一个 TaskManager 对应一个 slot,通过在命令行中设置 -yn 参数来控制 TM
的数量,设置 -ytm 参数来控制 TM 的内存,设置 -s 参数来控制任务的总 cpu 数(slot 数*taskmanager 数),脚本示例如下:

        flink run -m yarn-cluster -d -yjm 2048 -ys 1 -yn 2 -ytm 4096
WordCount.jar

    1.8 版本:
        任务已经废除 Legacy 运行模式,并将 -yn 参数置为 deprecated,log 如下:
        The argument yn is deprecated in will be ignored
        追踪源码发现,slot 数仅仅与任务的并行度有关,所以无法通过命令行进行限制总内存与 CPU 数目

    我的问题:
        1.由于用户代码是直接提交到平台上的,无法知道程序的并行度,是否有机制可以预先限制YARN per-job 模式下 Flink
任务的总内存与 CPU 数目?
        2.各位公司搭建的实时计算平台,一般是如何进行运算资源的限制的?

    期待解答,祝好!

回复