flink中怎么部署集群

发布时间:2021-07-30 18:03:00 作者:Leah
来源:亿速云 阅读:222

本篇文章为大家展示了flink中怎么部署集群,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。


MiniCluster

这种模式我们一般是在用IDE调试程序的时候用到,当我们在本地用IDE开发程序的时候,执行main方法,flink会在本地启动一个包含jobmanager和taskmanager的进程的minicluster,程序运行完成之后,这个cluster进程退出。

 

Standalone

这种模式就是直接在物理机上启动flink集群。我们可以通过{FLINK_HOME}/conf/flink-conf.yaml.
此外,我们可以用 ${FLINK_HOME}/bin/taskmanager.sh start 再启动一个taskmanager。

这时我们通过jps命令查看一下启动的进程

76085 StandaloneSessionClusterEntrypoint
76331 TaskManagerRunner
76846 TaskManagerRunner
 

我们看到这时候启动了两个taskmanager

flink中怎么部署集群  

这种部署模式对flink集群的资源管理是flink自己维护的,在生产环境下用的不多,所以我们也不做过多描述.

 

yarn

 

yarn session

启动集群的命令如下:


${FLINK_HOME}/bin/yarn-session.sh

 

这个命令有很多的参数,可以在后面加 -h 看下,我这里着重介绍一下 -d参数。
加上-d之后,指的是隔离模式,也就是启动之后和客户端就断了联系,如果要停止集群,需要通过yarn application -kill {applicationId} 来停止集群.

 

yarn per job


${FLINK_HOME}/bin/flink run -d -p 4 -ys 2 -m yarn-cluster -c com.example.Test userjar.jar arg1 arg2

 

提交成功之后,我们会在yarn的管理页面看到一个类似的任务

flink中怎么部署集群  

这个启动命令也有很多的参数,我就不一一讲解了,我用大白话讲讲我认为最核心的几个参数。

  1. -d  采用分离模式
  2. -p  程序的并行度
  3. -ys 每个taskmanager有几个slot,我们可以简单的理解为flink会把taskmanager的内存分成几份,在某些条件下,程序可以共用slot,提高效率,至于slot的概念,我们后续再讲,今天就不多说了。用并行度除以这个值,然后就会得到flink会启动几个taskmanager     ,所以为了避免有多余的slot,我们最好设置并行度除以这个ys值能整除。
  4. -c 程序的入口类,我们可以在程序打包的时候指定入口类,如果没有指定或者程序中有很多类,我们就需要通过这个-c参数来指定入口类了。
  5. 在命令行最后的参数是用户jar包的参数.
flink中怎么部署集群  

第二,通过命令行来停止:

${FLINK_HOME}/bin/flink stop -m yarn-cluster -yid application_1592386606716_0005 c8ee546129e8480809ee62a4ce7dd91d

 

这个时候需要指定yarn applicationId和flink job id
第三,通过程序来停止

https://blog.csdn.net/zhangjun5965/article/details/106820591

如果我们做了一个实时平台这样的系统,就不能手工通过命令行来停止了,可以调用相应的api来停止任务.

 

application模式

这种模式是在flink 1.11 版本中提供的,flink的yarn per job模式启动的时候会把本地的flink的jar和用户的jar都上传到hdfs,这个过程非常的消耗网络的带宽,如果同时有多个人提交任务的话,那么对网络的影响就更大,此外,每次提交任务的时候flink的jar包是一样的,也不用每次都拷来拷去的,所以flink提供了一种新的application模式,可以把flink的jar和用户的jar都预先放到hdfs上,这样就能省去yarn per job模式提交任务的jar包拷贝工作,节省了带宽,加快了提交任务的速度.

具体的命令如下:


./bin/flink run-application -p 1 -d -t yarn-application \
-yD yarn.provided.lib.dirs="hdfs://localhost/data/flink/libs/" \
hdfs://localhost/data/flink/user-lib/TopSpeedWindowing.jar


上述内容就是flink中怎么部署集群,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. flink yarn 部署指南
  2. Mongodb中怎么部署集群

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

flink

上一篇:Spring Boot中有哪些热部署方式

下一篇:在Ubuntu 14.04版本中运行adb时出错无法使用adb怎么办

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》