Flink on Yarn三部曲之三:提交Flink任务

Stella981
• 阅读 541

欢迎访问我的GitHub

https://github.com/zq2599/blog\_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

本文是《Flink on Yarn三部曲》系列的终篇,先简单回顾前面的内容:

  1. 《Flink on Yarn三部曲之一:准备工作》:准备好机器、脚本、安装包;
  2. 《Flink on Yarn三部曲之二:部署和设置》:完成CDH和Flink部署,并在管理页面做好相关的设置;

现在Flink、Yarn、HDFS都就绪了,接下来实践提交Flink任务到Yarn执行;

全文链接

  1. 《Flink on Yarn三部曲之一:准备工作》
  2. 《Flink on Yarn三部曲之二:部署和设置》
  3. 《Flink on Yarn三部曲之三:提交Flink任务》

实践之前,对Flink on YARN先简单了解一下,如下图所示,Flink on Yarn在使用的时候分为两种模式,Job Mode和Session Mode:
Flink on Yarn三部曲之三:提交Flink任务
Session Mode:在YARN中提前初始化一个Flink集群,以后所有Flink任务都提交到这个集群,如下图:
Flink on Yarn三部曲之三:提交Flink任务
Job Mode:每次提交Flink任务都会创建一个专用的Flink集群,任务完成后资源释放,如下图:
Flink on Yarn三部曲之三:提交Flink任务
接下来分别实战这两种模式;

准备实战用的数据(CDH服务器)

接下来提交的Flink任务是经典的WordCount,先在HDFS中准备一份文本文件,后面提交的Flink任务都会读取这个文件,统计里面每个单词的数字,准备文本的步骤如下:

  1. SSH登录CDH服务器;

  2. 切换到hdfs账号:su - hdfs

  3. 下载实战用的txt文件:

    wget https://github.com/zq2599/blog_demos/blob/master/files/GoneWiththeWind.txt

  4. 创建hdfs文件夹:hdfs dfs -mkdir /input

  5. 将文本文件上传到/input目录:hdfs dfs -put ./GoneWiththeWind.txt /input

准备工作完成,可以提交任务试试了。

Session Mode实战

  1. SSH登录CDH服务器;

  2. 切换到hdfs账号:su - hdfs

  3. 进入目录:/opt/flink-1.7.2/

  4. 执行如下命令创建Flink集群,-n参数表示TaskManager的数量,-jm表示JobManager的内存大小,-tm表示每个TaskManager的内存大小:

    ./bin/yarn-session.sh -n 2 -jm 1024 -tm 1024

  5. 创建成功后,控制台输出如下图,注意红框中的提示,表明可以通过38301端口访问Flink:
    Flink on Yarn三部曲之三:提交Flink任务

  6. 浏览器访问CDH服务器的38301端口,可见Flink服务已经启动:
    Flink on Yarn三部曲之三:提交Flink任务

  7. 浏览器访问CDH服务器的8088端口,可见YARN的Application(即Flink集群)创建成功,如下图,红框中是任务ID,稍后结束Application的时候会用到此ID:
    Flink on Yarn三部曲之三:提交Flink任务

  8. 再开启一个终端,SSH登录CDH服务器,切换到hdfs账号,进入目录:/opt/flink-1.7.2

  9. 执行以下命令,就会提交一个Flink任务(安装包自带的WordCount例子),并指明将结果输出到HDFS的wordcount-result.txt文件中:

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Flink的sink实战之二:kafka
欢迎访问我的GitHubhttps://github.com/zq2599/blog\_demos内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;本篇概览本文是《Flink的sink实战》系列的第二篇,前文《Flink的sink实战之一:初探》对sink有了基本的了解,本
Stella981 Stella981
2年前
Flink处理函数实战之三:KeyedProcessFunction类
欢迎访问我的GitHubhttps://github.com/zq2599/blog\_demos内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;Flink处理函数实战系列链接1.深入了解ProcessFunction的状态操作(Flink1.10);2.Pr
Stella981 Stella981
2年前
Flink on Yarn三部曲之一:准备工作
关于FlinkonYarn三部曲本文是《FlinkonYarn三部曲》的第一篇,整个系列由以下三篇组成:1.准备工作:搭建FlinkonYarn环境前,将所有硬件、软件资源准备好;2.部署和设置:部署CDH和Flink,然后做相关设置3.Flink实战:在Yarn环境提交Flink任务整个三部曲的实战内容如下图
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这