《从0到1学习Flink》—— Flink 项目如何运行?

前言

之前写了不少 Flink 文章了,也有不少 demo,但是文章写的时候都是在本地直接运行 Main 类的 main 方法,其实 Flink 是支持在 UI 上上传 Flink Job 的 jar 包,然后运行得。最开始在第一篇 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门 中其实提到过了 Flink 自带的 UI 界面,今天我们就来看看如何将我们的项目打包在这里发布运行。

准备

编译打包

项目代码就拿我之前的文章 《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch 吧,代码地址是在 GitHub 仓库地址:https://github.com/zhisheng17/flink-learning/tree/master/flink-learning-connectors/flink-learning-connectors-es6 ,如果感兴趣的可以直接拿来打包试试水。

我们在整个项目 (flink-learning)pom.xml 所在文件夹执行以下命令打包:

mvn clean install

然后你会发现在 flink-learning-connectors-es6 的 target 目录下有 flink-learning-connectors-es6-1.0-SNAPSHOT.jar 。

启动 ES

注意你的 Kafka 数据源和 ES 都已经启动好了, 清空了下 ES 目录下的 data 数据,为了就是查看是不是真的有数据存入进来了。

提交 jar 包

将此文件提交到 Flinkserver 上,如下图:

点击下图红框中的"Upload"按钮:

如下图,选中刚刚上传的文件,填写类名,再点击"Submit"按钮即可启动 Job:

查看运行结果

如下图,在 Overview 页面可见正在运行的任务:

你可以看到 Task Manager 中关于任务的 metric 数据

、日志信息以及 Stdout 信息。

查看 Kibana ,此时 ES 中已经有数据了:

我们可以在 flink ui 界面上的 overview cancel 这个 job,那么可以看到 job 的日志:

总结

本篇文章写了下如何将我们的 job 编译打包并提交到 Flink 自带到 Server UI 上面去运行,也算是对前面文章的一个补充,当然了,Flink job 不仅支持这种模式的运行,它还可以运行在 K8s,Mesos,等上面,等以后我接触到再写写。

本文原创地址是: http://www.54tianzhisheng.cn/2019/01/05/Flink-run/ , 未经允许禁止转载。

关注我

微信公众号:zhisheng

另外我自己整理了些 Flink 的学习资料,目前已经全部放到微信公众号了。你可以加我的微信:zhisheng_tian,然后回复关键字:Flink 即可无条件获取到。

Github 代码仓库

https://github.com/zhisheng17/flink-learning/

以后这个项目的所有代码都将放在这个仓库里,包含了自己学习 flink 的一些 demo 和博客

相关文章

1、《从0到1学习Flink》—— Apache Flink 介绍

2、《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

3、《从0到1学习Flink》—— Flink 配置文件详解

4、《从0到1学习Flink》—— Data Source 介绍

5、《从0到1学习Flink》—— 如何自定义 Data Source ?

6、《从0到1学习Flink》—— Data Sink 介绍

7、《从0到1学习Flink》—— 如何自定义 Data Sink ?

8、《从0到1学习Flink》—— Flink Data transformation(转换)

9、《从0到1学习Flink》—— 介绍Flink中的Stream Windows

10、《从0到1学习Flink》—— Flink 中的几种 Time 详解

11、《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch

12、《从0到1学习Flink》—— Flink 项目如何运行?

13、《从0到1学习Flink》—— Flink 写入数据到 Kafka

原文地址:https://www.cnblogs.com/zhisheng/p/10326796.html

时间: 2024-08-02 02:40:06

《从0到1学习Flink》—— Flink 项目如何运行?的相关文章

Flink 从0到1学习 —— Flink 中如何管理配置?

前言 如果你了解 Apache Flink 的话,那么你应该熟悉该如何像 Flink 发送数据或者如何从 Flink 获取数据.但是在某些情况下,我们需要将配置数据发送到 Flink 集群并从中接收一些额外的数据. 在本文的第一部分中,我将描述如何将配置数据发送到 Flink 集群.我们需要配置很多东西:方法参数.配置文件.机器学习模型.Flink 提供了几种不同的方法,我们将介绍如何使用它们以及何时使用它们.在本文的第二部分中,我将描述如何从 Flink 集群中获取数据. 如何发送数据给 Ta

《从0到1学习Flink》—— Flink Data transformation(转换)

前言 在第一篇介绍 Flink 的文章 <<从0到1学习Flink>-- Apache Flink 介绍> 中就说过 Flink 程序的结构 Flink 应用程序结构就是如上图所示: 1.Source: 数据源,Flink 在流处理和批处理上的 source 大概有 4 类:基于本地集合的 source.基于文件的 source.基于网络套接字的 source.自定义的 source.自定义的 source 常见的有 Apache kafka.Amazon Kinesis Stre

《从0到1学习Flink》—— Flink 中几种 Time 详解

前言 Flink 在流程序中支持不同的 Time 概念,就比如有 Processing Time.Event Time 和 Ingestion Time. 下面我们一起来看看这几个 Time: Processing Time Processing Time 是指事件被处理时机器的系统时间. 当流程序在 Processing Time 上运行时,所有基于时间的操作(如时间窗口)将使用当时机器的系统时间.每小时 Processing Time 窗口将包括在系统时钟指示整个小时之间到达特定操作的所有事

新手入门指导:Vue 2.0 的建议学习顺序

起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要用任何构建工具,就只用最简单的 <script>,把教程里的例子模仿一遍,理解用法.不推荐上来就直接用 vue-cli 构建项目,尤其是如果没有 Node/Webpack 基础. 3. 照着官网上的示例,自己想一些类似的例子,模仿着实现来练手,加深理解. 4. 阅读官方教程进阶篇的前半部分,到『自定义指令 (Custom Directive) 』为止.着

Retrofit2.0通俗易懂的学习姿势,Retrofit2.0 + OkHttp3 + Gson + RxJava

Retrofit2.0通俗易懂的学习姿势,Retrofit2.0 + OkHttp3 + Gson + RxJava Retrofit,因为其简单与出色的性能,也是受到很多人的青睐,但是他和以往的通信框架还是有点区别,不过放心,因为他本身还是挺简单的,所有我相信你看完这篇文章,对基本的请求是没什么问题的,其实现在网上这样的文章也有很多了,好了,那我们直接开车吧! 一.相关资料 Github:https://github.com/square/retrofit 官网文档:http://square

Cocos2d-x 3.0 - Eclipse上构建一个Android项目

Cocos2d-x 3.0 - Eclipse上构建一个Android项目 2014年4月30日 4月末 本篇继续介绍Cocos2d-x 3.0的一些基础内容,前面一篇博客介绍了如何在Visual Studio 2012上编译我们的Cocos2d-x项目,也成功把Helloworld运行起来了.跟以往的版本是类似的,只不过创建空项目的时候命令变成了cocos.本篇博客带给大家的是,如何在Eclipse运行起我们的Cocos2d-x项目,如果童鞋们有看我写的Cocos2d-x 2.2.3版本的交叉

MVC3.0 中Razor 学习

C# 的主要 Razor 语法规则 Razor 代码封装于 @{ ... } 中 行内表达式(变量和函数)以 @ 开头 代码语句以分号结尾 字符串由引号包围 C# 代码对大小写敏感 C# 文件的扩展名是 .cshtml MVC3.0 中Razor 学习 随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0.同时打算在MVC3中全面使用Razor模板引擎.现将Razor学习拿出来和大家分享,如果存在不足的地方欢迎您指出. 其实在使用<%= %>在html中调用C#代

从0開始学习 GitHub 系列之「07.GitHub 常见的几种操作」

之前写了一个 GitHub 系列,反响非常不错,突然发现居然还落下点东西没写,前段时间 GitHub 也改版了,借此机会补充下. 我们都说开源社区最大的魅力是人人多能够參与进去,发挥众人的力量,让一个项目更完好.更强壮.那么肯定有人疑问,我自己眼下还没有能力开源一个项目,可是想一起參与到别的开源项目中.该怎么操作呢?那么今天,就来给大家一起介绍下 GitHub 上的一些常见的操作,看完之后你就知道方法了. 我们姑且以 Square 公司开源的 Retrofit 为例来介绍. 打开链接: http

thinkphp学习笔记3—项目编译和调试模式

原文:thinkphp学习笔记3-项目编译和调试模式 1.项目编译 在章节2.4项目编译中作者讲到使用thinkphp的项目在第一次运行的时候会吧核心需要加载的文件去掉空白和注释合并到一个文件中编译并缓存,第二次运行时直接载入编译缓存,这样省去一些IO开销,加快执行速度.并且在3.0以上的版本中海做了一些优化: 1.合并和兴编译缓存和项目编译缓存,不再生成两个缓存文件 2.直接对本地环境生成设置和常量定义减少环境判断 3.编译缓存可以直接替换框架入口甚至项目入口,甚至脱离框架独立运行 4.通过参