【Flink】Flink的部署模式

一、本地启动 & 集群启动

1、本地启动最简单的启动方式,其实是不搭建集群,直接本地启动。本地部署非常简单,直接解压安装包就可以使用,不用进行任何配置;一般用来做一些简单的测试。

启动成功后,访问 http://hadoop102:8081,可以对 flink 集群和任务进行监控管理

2、集群启动:如果我们想要扩展成集群,其实启动命令是不变的,主要是需要指定节点之间的主从关系。Flink 是典型的 Master-Slave 架构的分布式数据处理框架,其中 Master 角色对应着JobManagerSlave 角色则对应 TaskManager。操作如下:

1 )进入 conf 目录下,修改 flink-conf.yaml 文件,修改 jobmanager.rpc.address 参数为
hadoop102
(2)修改 workers 文件,将另外两台节点服务器添加为本 Flink 集群的 TaskManager 节点
(3)配置修改完毕后,将 Flink 安装目录发给另外两个节点服务器
(4) hadoop102 节点服务器上执行 start-cluster.sh 启动 Flink 集群: $ bin/start-cluster.sh

二、向集群提交作业的方式

1、打包程序,Web UI 上提交作业。

2、命令行提交作业

$ bin/flink run -m hadoop102:8081 -c 
com.atguigu.wc.StreamWordCount ./FlinkTutorial-1.0-SNAPSHOT.jar
这里的参数 –m 指定了提交到的 JobManager,-c 指定了入口类

三、部署模式

1、会话模式(Session Mode
         先启动集群,保持一个会话;集群只有一个,所有作业争夺资源

【Flink】Flink的部署模式_第1张图片

2、单作业模式(Per-Job Mode

        客户端运行程序,运行作业时再启动集群 ,一个作业启动一个集群,需要借助第三方资源调度器。这些特性使得单作业模式在生产环境运行更加稳定,所以是实际应用的首选模式。

【Flink】Flink的部署模式_第2张图片

3、应用模式(Application Mode

        直接把应用提交到 JobManger 上运行。需为每一个提交的应用单独启动一个 JobManager,也就是创建一个集群。这个 JobManager 只为执行这一个应用而存在,执行结束之后 JobManager 也就关闭了。

四、Standalone模式 & Yarn模式 

1、Standalone模式

资源调度由 Flink自己负责,所需要的所有 Flink 组件,都只是操作系统上运行的一个 JVM 进程。
支持会话模式和应用模式,唯独不支持单作业模式,因为单作业模式需要其他资源调度器的参与。
2、Yarn模式
动态分配资源, 支持会话模式、单作业模式和应用模式
3、高可用
YARN 模式的高可用和独立模式( Standalone )的高可用原理不一样。
Standalone 模式中 , 同时启动多个 JobManager, 一个为“领导者”( leader ),其他为“后备” (standby , leader 挂了 , 其他的才会有一个成为 leader
而 YARN 的高可用是只启动一个 Jobmanager, 当这个 Jobmanager 挂了之后 , YARN 会再次启动一个, 所以其实是利用的 YARN 的重试次数来实现的高可用。

你可能感兴趣的:(Flink,flink,大数据)