flink on yarn包括 yarn session以及per job两种方式.
那么生产环境中到底采用哪种呢?
下面是社区群中的讨论:
所以on yarn模式在生产环境中我们使用per job
根据[1],
standalone模式也没法用,我看了下我的jps,是这样的:
643545 DataNode
644973 QuorumPeerMain
643773 SecondaryNameNode
643372 NameNode
644348 NodeManager
587823 Launcher
644094 ResourceManager
645651 StandaloneSessionClusterEntrypoint
645925 TaskManagerRunner
649188 Jps
308458 KotlinCompileDaemon
292107 Main
根据[2]
概念名称 | 对应的硬件资源/系统资源 |
Task Manager | 多个CPU Core |
Task Slot | 一个CPU core |
Task Slot | 多线程共享 |
也就是说standalone也是Session模式的,不可用,job之间的隔离性不好.
所以生产模式能用的也就只有yarn per-job方式.
Reference:
[1]Flink SQL CDC 上线!我们总结了 13 条生产实践经验