Flink Yarn的2种任务提交方式
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种任务提交方式的更多相关文章
- EasyUI 另一种form提交方式
(function ($) { window.XW = {}; //全局系统对象 //异步请求统一调用方法 XW.ajax = function (options, param, callback) ...
- jquery的几种ajax提交方式
$.post( url, function(data){ if(data.retcode == "0"){ alert(data.retmsg); }else{ alert(dat ...
- jQuery - 几种异步提交方式
$.post(url,params,callback); $.post("${ctx}/role/grant", {userId : $("#userId"). ...
- 【Spark篇】---Spark中yarn模式两种提交任务方式
一.前述 Spark可以和Yarn整合,将Application提交到Yarn上运行,和StandAlone提交模式一样,Yarn也有两种提交任务的方式. 二.具体 1.yarn-clien ...
- Spark Standalone与Spark on YARN的几种提交方式
不多说,直接上干货! Spark Standalone的几种提交方式 别忘了先启动spark集群!!! spark-shell用于调试,spark-submit用于生产. 1.spark-shell ...
- Flink on Yarn的两种模式及HA
转自:https://blog.csdn.net/a_drjiaoda/article/details/88203323 Flink on Yarn模式部署始末:Flink的Standalone和on ...
- 三种POST和GET的提交方式
向服务器提交数据有两种方式,post和get.两者的区别主要有三点,安全性.长度限制.数据结构.其中get请求安全性相比较而言较差,数据长度受浏览器地址栏限制,没有方法体.两种都是较为重要的数据提交方 ...
- 四种常见的 POST-------- content-type数据提交方式
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...
- ASP.NET MVC 表单的几种提交方式
下面是总结一下在ASP.NET MVC中表单的几种提交方式. 1.Ajax提交表单 需要引用 <script type="text/javascript" src=" ...
随机推荐
- CSS 是啥?前端小白入门级理解
What is CSS? CSS stands for Cascading Style Sheets CSS describes how HTML elements are to be display ...
- Python - 面向对象编程 - super()
前置知识 继承的详解:https://www.cnblogs.com/poloyy/p/15216652.html 子类方法的重写:https://www.cnblogs.com/poloyy/p/1 ...
- redis未授权getshell的4种方式
前言 redis未授权漏洞或弱口令一直是很有用的渗透突破口,最近正好闲的无事就拿redis来测试一些,做一个简单的收集,方便自己日后的回顾. 漏洞描述 Redis 默认情况下,会绑定在 0.0.0.0 ...
- Django使用富文本编辑器ckediter
1 - 安装 pip install django-ckeditor 2 - 注册APP ckeditor 3 - 由于djang-ckeditor在ckeditor-init.js文件中使用了JQu ...
- 20210716 noip17
考场 终于有一场在晚上考了 T1 随便画了画就发现要求每个点的后继个数,想起来有 dfs 和 toposort 两种方法,感觉很稳 T2 裸的网络流有 70pts?!真香 一看 T3 就想起了 Mst ...
- QT程序打包成多平台可执行文件
一.简述 QT项目开发完成后,需要打包发布程序,在实际生产中不可能把源码发给别人,所以需要将源码打包正可执行文件或者安装程序. 二.设置应用图标 把 ico 文件放到源代码目录下,在QT项目中的'.p ...
- shell脚本中的多行注释
shell 中注释的使用方法 1. 单行注释 单行注释最为常见,它是通过一个'#'来实现的.注意shell脚本的最开始部分"#!/bin/bash"的#号不是用来注释的. 2. 多 ...
- Mybatis-基本学习(下)
四,MAP的使用--超常用 思考:多表连接查询怎么做?---MAP的好处!---返回List
- django框架开发流程
python开发没有按目录划分,不像其它语言要先建一个包文件,所以python有必要先新建一个虚拟环境.这样不同的项目所依赖的环境和插件互不影响.虚拟环境的方法很多,这儿先用 virtualenv ...
- VBox 虚拟机安装 Openwrt 做旁路由
VBox 虚拟机安装 Openwrt 做旁路由 需求:开个虚拟机做旁路由,电脑把网关设置成旁路由地址,用它跑个上网或其他什么东西. 安装及配置过程简述 这件事流程很简单,总结起来主要有以下几点: 安装 ...