Flink 部署模式

2018-11-25  本文已影响0人  WestC

本文仅对Flink集群的部署模式作简单探讨,并未对如何部署(如环境变量,节点互信,hadoop集成配置)作说明,相关方法可百度获取。

Flink Local模式

在Local模式下仅模拟cluster集群,仅启动JobManager完成应用的运行。JobManager进程信息如下:


jobmanager_local.jpg

提交应用方式:
./flink run -p 1 ../examples/batch/WordCount.jar

Flink StandAlone 模式

使用./start-cluster.sh 启动flink集群
JobManager进程信息 :


jobManager_standalone.jpg

TaskManager进程信息 :

taskmanager_standalone.jpg

提交Flink作业:

./flink run -p 2  ../examples/batch/WordCount.jar --input hdfs://192.168.242.133:9000/tmp/input  --output hdfs://192.168.242.133:9000/tmp/output

flink-on-yarn 模式

FLink on yarn 有两种运行模式

* 创建一个yarn-session,后续提交应用至该session
* 直接 yarncluster模式提交应用至yarn服务

yarn-session模式:

该模式下,创建session以后,会启动一个Yarn applicationMaster和指定数目的Yarn Container。查看ApplicationMaster及Container进程信息可以看出,二者启动类分别为YarnAPplicationMasterRunner和YarnTaskManager。查看源码可以看出,本质上ApplicationMaster扮演的是JobManager的角色,Contaienr扮演的是TaskManager的角色,类似于启动一个Flink的集群。

然后可以通过直接提交应用至该session,由该Session负责运行应用

创建yarn-session

启动flink的yarn-session,可以使用如下命令:

./yarn-session.sh -n 3 -jm 768 -tm 768

ApplicationMaster/JobManager 进程信息

jobmanager_session.jpg

Container/TaskManager进程信息:


taskmanager_session.jpg

提交Flink作业命令:

./flink run -p 2  ../examples/batch/WordCount.jar
./flink run -p 2 -yid application_1543030627541_0003  ../examples/batch/WordCount.jar

yarn-cluster模式

可以直接通过yarn-cluster模式提交应用至yarn服务,可使用如下命令:

./flink run -m yarn-cluster -yn 1 -yjm 1024 -ytm 1024  ../examples/batch/WordCount.jar

ApplicationMaster/JobManager

jobmanager_cluster.jpg

Container/TaskManager进程信息:


taskmanager_cluster.jpg

PS: 以上各部署模式架构图可参考:https://www.jianshu.com/p/0f4725f1b7d8

上一篇下一篇

猜你喜欢

热点阅读