环境

  • Flink 1.8.2
  • jdk 1.8
  • hadoop 2.8.5

Local模式

在Local模式下仅模拟cluster集群,仅启动JobManager完成应用的运行。JobManager进程信息如下:
启动:./bin/start-cluster.sh
停止:./bin/stop-cluster.sh
提交作业方式
./flink run -p 1 ../examples/batch/WordCount.jar
-p表示并行度

Standalone模式

集群安装

  1. 修改conf/flink-conf.yaml: jobmanager.rpc.address: swarm-manager
  2. 修改conf/slaves
    swarm-worker1
    swarm-worker2
  3. 启动jobmanager:
    Flink三种运行模式安装部署
    然后在其他两个节点上分别启动集群,然后在浏览器中输入地址http://swarm-manager:8081
    Flink三种运行模式安装部署

Flink On Yarn模式

Flink三种运行模式安装部署

第一种【yarn-session.sh(开辟资源)+flink run(提交任务)】

创建一个yarn-session,后续提交应用至该session。
该模式下,创建session以后,会启动一个Yarn applicationMaster和指定数目的Yarn Container。查看ApplicationMaster及Container进程信息可以看出,二者启动类分别为YarnAPplicationMasterRunner和YarnTaskManager。查看源码可以看出,本质上ApplicationMaster扮演的是JobManager的角色,Contaienr扮演的是TaskManager的角色,类似于启动一个Flink的集群。
然后可以通过直接提交应用至该session,由该Session负责运行应用

启动yarn的ResourceManager,NodeManager:./start-yarn.sh
启动yarn-session,~/app/flink-1.8.2$ bin/yarn-session.sh -jm 1024m -tm 1024m
控制台输出:
Flink三种运行模式安装部署
提交一个作业
[email protected]:~/app$ flink run ./hadoop-hdfs-1.0-SNAPSHOT-shaded.jar ./flink-es.properties
浏览器中输入地址http://swarm-manager:45343这个地址根据实际情况确定,可以看到有一个作业在运行:
Flink三种运行模式安装部署
这时在yarn中浏览器中输入地址http://swarm-manager:8088,查看
Flink三种运行模式安装部署

第二种【flink run -m yarn-cluster(开辟资源+提交任务)】

首先按照上面第一种方式,先把yarn-session.sh进程关闭。
提交作业
~/app$ flink run -m yarn-cluster -yn 1 ./hadoop-hdfs-1.0-SNAPSHOT-shaded.jar ./flink-es.properties
其中-m yarn-cluster表示使用yarn集群,-yn 1表示taskmanager的数量。
Flink三种运行模式安装部署

相关文章: