Flink系统架构中包含了两个角色,分别是JobManager和TaskManager,是一个典型的Master-Slave架构。JobManager至关因而Master,TaskManager至关因而Slaveweb
官方session
JobManager负责整个集群的资源管理与任务管理,在一个集群中只能由一个正在工做(active)的 JobManager,若是HA集群,那么其余JobManager必定是standby状态架构
负责当前节点上的任务运行及当前节点上的资源管理,TaskManager资源经过TaskSlot进行了划 分,每一个TaskSlot表明的是一份固定资源。例如,具备三个 slots 的 TaskManager 会将其管理的 内存资源分红三等份给每一个 slot。 划分资源意味着 subtask 之间不会竞争内存资源,可是也意味 着它们只拥有固定的资源。注意这里并无 CPU 隔离,当前 slots 之间只是划分任务的内存资源
负责TaskManager之间的数据交换app
负责将当前的任务提交给JobManager,提交任务的经常使用方式:命令提交、web页面提交。获取任务的 执行信息框架
Flink on Yarn是依托Yarn资源管理器,如今不少分布式任务均可以支持基于Yarn运行,这是在企业中使 用最多的方式。Why?
(1)基于Yarn的运行模式能够充分使用集群资源,Spark on Yarn、MapReduce on Yarn、Flink on Yarn等 多套计算框架均可以基于Yarn运行,充分利用集群资源
(2)基于Yarn的运行模式下降维护成本分布式
申请yarn资源
yarn-session.sh -n 2 -tm 1024 -jm 1024 -s 2 -dspa
-n : taskmanager的容器的数量
-tm : taskmanager的申请内存
-jm: jobmanager的申请内存
-s : taskmanager的cpu核数
-d:分离模式,申请好yarn资源,会自动跳出会话窗口
提交做业:
flink run ../examples/batch/WordCount.jarserver
关闭资源:
yarn application -kill IDblog
查看yarn session列表: yarn application -list
-help命令:
yarn-session.sh -help进程
flink run -m yarn-cluster -yn 1 -ytm 1024 -yjm 1024 -ys 1 /export/servers/flink-1.7.0/examples/batch/WordCount.jar
-m : 指定模式
-yn: taskmanager的容器的数量
-yjm: jobmanager的申请内存
-ytm: taskmanager的申请内存
-ys: taskmanager的cpu核数-help命令:
flink run -m yarn-cluster -help
不管以什么样的模式提交Application到Yarn中运行,都会启动一个yarn-session(Flink 集群),依然是由 JobManager和TaskManager组成,那么JobManager节点若是宕机,那么整个Flink集群就不会正常运转