![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
从零学习Flink
文章平均质量分 79
Flink
Yanko24
不知不若闻之,闻之不若见之,见之不若知之,知之不若行之,学止于行而至矣,行之,明也。
展开
-
Flink中的多流转换
在Flink的使用过程中,经常可能会遇到将一个流的数据拆分成多个流,此时就需要将一个DataStream拆分成独立的两个或多个DataStream,一般情况下可能需要根据一些条件将不同的数据过滤出来写入不同的流。在1.13版本中,使用处理函数(process function)的侧输出流(side output)将一个流进行拆分。处理函数本身可以认为是一个转换算子,它的输出类型比较单一,处理之后得到的仍然是一个DataStream。但是侧输出流并不受此限制,可以任意自定义输出数据,看起来就像从主流分叉出来的原创 2022-07-12 15:39:35 · 999 阅读 · 1 评论 -
Flink中的Time和Window
Flink中的时间语义分为两种,分别是处理时间(Process Time)和事件时间(Event Time)。处理时间是指执行处理操作的机器的系统时间,在流式数据计算中,处理时间是最简单的时间语义,不需要各个节点之间进行协调同步,也不需要考虑数据在流中的位置。事件时间是指每个事件在对应的设备上发生的时间,也就是数据生成时间,数据一旦生成,这个时间就确定了,这个时间作为一个属性嵌入到数据中,其实也就是这叫数据记录的时间戳。由于在事件时间语义下,先产生的数据先处理,这就要求我们要保证数据到达的顺序,但真实情况下原创 2022-07-11 14:53:09 · 842 阅读 · 0 评论 -
Flink日志文件配置
因为在正常的情况下,Flink的流数据是非常大的,有时候会使用print()打印数据自己查看,有时候为了查找问题会开启debug日志,就会导致日志文件非常大,通过Web UI查看对应的日志文件是会非常卡,所以首先将日志文件按照大小滚动生成文件,我们在查看时不会因为某个文件非常大导致Web UI界面卡,没法查看。2.2 设置日志写入Kafka集群针对按照日志文件大小滚动生成文件的方式,可能因为某个错误的问题,需要看好多个日志文件,所以可以把日志文件通过KafkaAppender写入到kafka中,然后通过原创 2022-06-16 21:52:07 · 6013 阅读 · 5 评论 -
使用Prometheus+Grafana打造Flink监控页面
将pushgateway解压到指定目录后,直接运行pushgateway即可启动pushgateway2. 安装node_exporter将node_exporter解压到指定目录后,直接运行node_exporter即可启动node_exporter3. 安装Prometheus解压Prometheus到安装目录,并修改目录下的配置文件:启动Prometheus服务启动之后在web页面上可以看到pushgateway、node_exporter以及prometheus的运行情况,地址启动Gr原创 2022-06-15 14:26:58 · 1167 阅读 · 0 评论 -
Flink运行环境
Flink运行环境Flink运行环境_Local1. 启动Local环境进入解压缩后的路径,执行如下命令bin/start-cluster.sh启动成功后,可以输入网址进行Web UI监控页面访问http://虚拟机地址:80812. 命令行提交应用bin/flink run \-m hadoop01:8081 \-d \-c com.yankee.day01.Flink03_WordCount_UnBounded_Scala wordcount.jar注意:启原创 2022-04-19 12:00:00 · 1070 阅读 · 0 评论 -
Flink中Window的介绍和使用
Flink中Window的介绍和使用Flink中的窗口大致分为两类,分别是Keyed Windows和Non-Keyed Windows,接下来我们从其简单应用方面看看Window都包含哪些内容,基本的用法等。1. 按照使用场景分类Keyed Windows:跟在KeyedStream后使用stream .keyBy(...) <- keyed versus non-keyed windows .window(...)原创 2022-04-18 16:03:28 · 857 阅读 · 0 评论 -
Flink中Trigger的介绍及使用
Flink中Trigger的介绍及使用Flink中的Trigger用来确认一个窗口是否应该出发结果的计算,每个windowAssigner都有一个默认的Trigger,先来看看Trigger的定义及其API。1. Trigger的定义@PublicEvolvingpublic abstract class Trigger<T, W extends Window> implements Serializable { private static final long serial原创 2022-04-18 09:30:51 · 3572 阅读 · 2 评论 -
Flink中DataStream常用算子
Flink Stream常用算子其实对于所有的计算框架都是一样的,都分为以下四部分:Flink中提供的一些Source、Transform算子以及Sink如下:1. EnvironmentFlink Job提交执行计算时,首先需要简历和Flink框架的联系,所以只有获取处理的环境,才能将task调度到不同的taskManager执行。// 批处理环境ExecutionEnvironment benv = ExecutionEnvironment.getExecutionEnvironment原创 2022-03-29 14:49:52 · 2135 阅读 · 0 评论 -
Flink的运行架构
Flink的运行架构1. 运行架构1. Client严格意义上说,Client不是运行和程序执行的一部分,而是用于准备dataflow并将其发送给JobManager。之后,Client可以断开连接与JobManager的连接(分离模式-detached mode),也可以继续保持与JobManager的连接(附加模式-attached mode)。客户端可以作为触发执行Java或Scala代码的一部分运行,也可以在命令行进程bin/flink run ...中运行。2. JobManager原创 2022-03-11 15:39:17 · 3195 阅读 · 0 评论 -
Flink中如何判断需要几个slot以及任务链的划分
Flink中如何判断需要几个slot以及任务链的划分1. 设置全局的并发object Flink01_WordCount_Chain_Scala { def main(args: Array[String]): Unit = { // 1.创建执行环境 val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment // 设置并行度 env.setPara原创 2021-06-04 14:57:25 · 1870 阅读 · 0 评论 -
Flink运行环境_Standalone
Flink运行环境_Standalone只使用Flink自身节点运行的集群模式,也就是我们所谓的(Standalone)模式,也叫做独立集群模式。1. Flink独立集群部署1. 解压缩文件将flink-1.12.2文件上传到指定目录并解压。2. 修改配置文件进入解压缩的路径的conf目录,修改flink-conf.yamljobmanager.rpc.address: hadoop01修改works文件,添加work节点hadoop01hadoop02hadoop03原创 2021-06-07 16:01:38 · 344 阅读 · 0 评论 -
Flink运行环境_Local
Flink运行环境_Local1. 启动Local环境进入解压缩后的路径,执行如下命令bin/start-cluster.sh启动成功后,可以输入网址进行Web UI监控页面访问http://虚拟机地址:80812. 命令行提交应用bin/flink run \-m hadoop01:8081 \-d \-c com.yankee.day01.Flink03_WordCount_UnBounded_Scala wordcount.jar注意:启动之前需要先启动ha原创 2021-06-07 16:01:01 · 272 阅读 · 0 评论 -
Flink常见的面试题
Flink常见的面试题1. Flink-On-Yarn的两种架构问题:Flink-On-Yarn常见的提交模式有哪些,分别有什么优缺点?解答:flink在yarn模式下运行,有两种任务提交模式,资源消耗各不相同。1. yarn-sessionyarn-session这种方式需要先启动集群,然后在提交作业,接着会向yarn申请一块空间后,资源永远保持不变。如果资源满了,下一个就任务就无法提交,只能等到yarn中其中一个作业完成后,释放了资源,那下一个作业才会正常提交,这种方式资源被限制在sessi原创 2021-04-26 16:04:25 · 2057 阅读 · 0 评论 -
Flink运行环境_Yarn
Flink运行环境_Yarn独立部署(Standalone)模式是由Flink框架本身提供计算资源,无需其他框架提供资源。这种方式降低了和其他第三方资源框架的耦合性,独立性非常强。但是由于Flink主要是计算框架,而不是资源调度框架,所以本身资源调度并不是它的强项。把Flink应用提交给Yarn的ResourceManager,Yarn的ResourceManager会申请容器从Yarn的NodeManager上面,Flink会创建JobManager和TaskManager在这些容器上面,Flink会原创 2021-06-07 16:02:15 · 758 阅读 · 0 评论