淘先锋技术网

首页 1 2 3 4 5 6 7

Session Mode

会话模式先启动一个集群,保持一个会话,等待客户端提交作业.在集群其中的时候资源已经固定了,包含了多少个TaskManager多少个slot,提交的作业会在集群中进行资源的竞争.作业结束之后集群依然运行,释放资源,重新等待作业提交.
缺点: 资源共享,在资源不足时,提交新的作业会失败.在没有作业时,集群生命周期不会结束会造成资源的浪费.TaskManager可能会运行多个作业,当发生异常,导致TaskManager宕机当前TM上所有的作业都会失败.
使用场景: 适合集群规模较小,执行时间短的大量作业

Per-Job Mode

单作业模式一对一模式,每一个job对应一个flink集群.由客户端提交作业,资源管理框架会根据作业创建一个flink集群,带有自己独立的JobManager,并发送给TaskManager.当作业执行完毕之后,集群就关闭,释放所有资源.每个作业有自己单独的JobManager,即使发生故障TM不会影响其他的作业.
这种模式需要配合其他的资源管理框架使用 比如 yarn k8s mesos

Application Mode

应用模式跟单作业模式一样无需提前启动集群,当有任务提交之后才会启动集群.但与Per-Job不同的是,Application Mode做个JOB组成一个Application运行在一个集群.比如一个main方法中有多个execute方法,在Application Mode下只会启动一个集群将多个job视为一个Application,而Per-Job会启动多个集群.main方法在集群上执行,客户端只需把Job上传到HDFS集群,由JM的集群入口类ApplicationClusterEntryPoint 执行main方法生成JobGraph