1、独立集群部署
独立集群包含至少一个 master 进程,以及至少一个 TaskManager 进程,TaskManager 进程运行在一台或者多台机器上。所有的进程都是 JVM 进程。下图展示了独立集群的部署。
独立集群部署:
master 进程在不同的线程中运行了一个 Dispatcher 和一个 ResourceManager。一旦它们开始运行,所有 TaskManager 都将在 Resourcemanager 中进行注册。下图展示了一个任务如何提交到一个独立集群中去。
提交流程:
客户端向 Dispatcher 提交了一个任务,Dispatcher 将会启动一个作业管理器线程,并提供执行所需的 JobGraph。作业管理器向 ResourceManager 请求必要的 task slots。一旦请求的 slots 分配好,作业管理器就会部署 job。
在 standalone 这种部署方式中,master 和 worker 进程在失败以后,并不会自动重启。如果有足够的 slots 可供使用,job 是可以从一次 worker 失败中恢复的。只要我们运行多个 worker 就好了。但如果 job 想从 master 失败中恢复的话,则需要进行高可用 (HA) 的配置了。
2、YARN 部署
YARN 是 Apache Hadoop 的资源管理组件。用来计算集群环境所需要的 CPU 和内存资源,然后提供给应用程序请求的资源。
Flink 在 YARN 上运行,有两种模式:job 模式和