Flink Yarn的2种任务提交方式

Pre-Job模式介绍

每次使用flink run运行任务的时候,Yarn都会重新申请Flink集群资源(JobManager和TaskManager),任务执行完成之后,所申请的Flink集群资源就会释放,所申请的Yarn资源是独享的,不与其他任务分享资源。

运行命令

./bin/flink run -m yarn-cluster -yn 3 -ys 12 -p 4
-yjm 1024m -ytm 4096m ./examples/batch/WordCount.jar

参数解读:

-p 并行度

-yn Task Managers数量

-ys 每个TaskManager的Slot数量

-yjm 每个JobManager内存 (default: MB)

-ytm 每个TaskManager内存 (default: MB)

Session模式介绍

需要先在yarn上先分配一个flink集群,后续所有任务都共享这个Flink集群上的资源,该Flink不会因为任务的结束而终止。

先向Yarn申请Flink所需资源

flink客户端目录下,执行如下命令:

bin/yarn-session.sh -jm 1024m -tm 4096m -n 4 -s 8 -na hdq-yarn

参数含义:

-jm jobmanager的内存大小

-tm taskManager的内存大小

-n taskManager个个数

-s 每个taskManager中slot的个数

执行完成之后会输出如下日志:

Flink JobManager is now running on 172-16-122-56:9101 with leader id 00000000-0000-0000-0000-000000000000.
JobManager Web Interface: http://172-16-122-56:9101

运行完成后,Yarn的集群上会有一个常驻任务。

此时,Flink集群的资源都已经申请完毕。

这里需要记住JobManager的ip和端口:172-16-122-56:9101,等会运行Flink任务的时候需要修改这里的配置。

运行Flink程序

运行Flink任务之前需要修改Flink客户端下的配置文件:conf/flink-conf.yaml

分别修改jobmanager.rpc.address和rest.port,对应第二步中的172-16-122-56和9101。

jobmanager.rpc.address: 172-16-122-56
rest.port: 9101

修改完成之后即可运行Flink任务:

/flink/bin/flink run
-C file:/plugins/oraclereader/flinkx-oracle-reader.jar
-C file:/plugins/mysqlwriter/flinkx-mysql-writer.jar
-C file:/plugins/common/flinkx-rdb.jar
-C file:/plugins/common/flinkx-rdb-2.0.0.jar
-C file:/plugins/common/flink-table_2.11-1.7.2.jar /plugins/flinkx.jar
-job fx_2065.json
-pluginRoot /plugins
-jobid 2065

此时,flink会自动将任务提交到我们申请的Flink集群上进行运行。

注意事项

如果程序依赖第三方jar,通过-C传参的方式进行依赖,那么整个Yarn集群都要有jar文件。

其中-C所指定的所有jar文件,在整个Yarn集群的机器上都必须存在,否则运行会失败。不支持hdfs共享存储,支持ftp等其他协议。

总结

  • Pre-Job模式: 运行时需要会自动申请Yarn资源,申请完成后才能运行任务,并且所申请的资源是该任务独享的,运行完成后资源会自动释放;适合资源消耗比较大的情况。
  • Session模式: 运行之前需要在Yarn上先申请好资源才能提交任务,所有任务会共享资源,适合小任务运行。

Flink Yarn的2种任务提交方式的更多相关文章

  1. EasyUI 另一种form提交方式

    (function ($) { window.XW = {}; //全局系统对象 //异步请求统一调用方法 XW.ajax = function (options, param, callback) ...

  2. jquery的几种ajax提交方式

    $.post( url, function(data){ if(data.retcode == "0"){ alert(data.retmsg); }else{ alert(dat ...

  3. jQuery - 几种异步提交方式

    $.post(url,params,callback); $.post("${ctx}/role/grant", {userId : $("#userId"). ...

  4. 【Spark篇】---Spark中yarn模式两种提交任务方式

    一.前述 Spark可以和Yarn整合,将Application提交到Yarn上运行,和StandAlone提交模式一样,Yarn也有两种提交任务的方式. 二.具体      1.yarn-clien ...

  5. Spark Standalone与Spark on YARN的几种提交方式

    不多说,直接上干货! Spark Standalone的几种提交方式 别忘了先启动spark集群!!! spark-shell用于调试,spark-submit用于生产. 1.spark-shell ...

  6. Flink on Yarn的两种模式及HA

    转自:https://blog.csdn.net/a_drjiaoda/article/details/88203323 Flink on Yarn模式部署始末:Flink的Standalone和on ...

  7. 三种POST和GET的提交方式

    向服务器提交数据有两种方式,post和get.两者的区别主要有三点,安全性.长度限制.数据结构.其中get请求安全性相比较而言较差,数据长度受浏览器地址栏限制,没有方法体.两种都是较为重要的数据提交方 ...

  8. 四种常见的 POST-------- content-type数据提交方式

    HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...

  9. ASP.NET MVC 表单的几种提交方式

    下面是总结一下在ASP.NET MVC中表单的几种提交方式. 1.Ajax提交表单 需要引用 <script type="text/javascript" src=" ...

随机推荐

  1. pip install 报错 TypeError: 'module' object is not callable

    $ pip install filetype Traceback (most recent call last): File "/usr/local/bin/pip2", line ...

  2. zigzag走线原理及应用

    电路板上弯弯扭扭的走线有什么用 往期文章: 一文读懂高速互联的阻抗及反射(上) 一文读懂高速互联的阻抗及反射(中) 前面几篇文章有部分读者反馈太深奥,不好懂,要求来一点轻松易懂的.这不,它来了!本期文 ...

  3. RabbitMQ从零到集群高可用(.NetCore5.0) -高可用集群构建落地

    系列文章: RabbitMQ从零到集群高可用(.NetCore5.0) - RabbitMQ简介和六种工作模式详解 RabbitMQ从零到集群高可用(.NetCore5.0) - 死信队列,延时队列 ...

  4. 集合框架2- ArrayList

    其实 Java 集合框架也叫做容器,主要由两大接口派生而来,一个是 collection,主要存放对象的集合.另外一个是Map, 存储着键值对(两个对象)的映射表. 下面就来说说 List接口,Lis ...

  5. chrome插件开发学习(一)

    两个不错的网址: 360chrome插件开发文档:http://open.chrome.360.cn/extension_dev/manifest.html 图灵 chrome插件开发于应用 电子书: ...

  6. 20210823 数数,数树,鼠树,ckw的树

    考场 乍一看都不好做 仔细想想发现 T1 的绝对值特别好,轮流选剩余的最大/最小值就行了 T2 又要计数,直接想部分分,发现一个 sb 容斥就有 35ps(但数据锅了,只有 25pts) T3 什么玩 ...

  7. JS015. 数据存储方式与位置(堆内存、栈内存、指针)

    数据 - 基本类型 Undefined  ,  Null  ,  String  ,  Number  ,  Boolean  ,  Symbol (ES 6)  , 基本数据类型存储在栈内存中. 数 ...

  8. Windows下安装程序时提示未安装Microsoft Net FrameWork 2.0

    问题描述 安装程序时碰到如下: 现在基本都是用win7.win10系统,缺少环境大多数都是因为系统没有启用. 解决方法 控制面板 - 程序 - 启用或关闭Windows功能 - 把第一项'NET Fr ...

  9. MySQL中的查询事务问题

    之前帮同学做个app的后台,使用了MySQL+MyBatis,遇到了一个查询提交的问题,卡了很久,现在有时间了来复盘下 环境情况 假设有学生表: USE test; CREATE TABLE `stu ...

  10. Mysql将其他表中的数据更新到指定表中

    update tb  set tb.字段= (select 字段 from tb1 where tb.字段1 = tb1.字段1); update role set uid = (select ID ...