flink
大数据玩家
致力于大数据源码研究、底层原理研究!
展开
-
(第九弹)Flink——Flink之重启策略
概述 Flink支持不同的重启策略,以在故障发生时控制作业如何重启。集群在启动时会伴随一个默认的重启策略,在没有定义具体重启策略时会使用该默认策略。 常用的重启策略有哪些呢?固定间隔 (Fixed delay) 失败率 (Failure rate) 无重启 (No restart)1、如果没有启用 checkpointing,则使用无重启 (no restart) 策...原创 2020-04-28 17:31:28 · 533 阅读 · 0 评论 -
Flink 整合 Nacos,动态更改作业配置!
我们知道 Flink 作业的配置一般都是通过在作业启动的时候通过参数传递的,或者通过读取配置文件的参数,在作业启动后初始化了之后如果再想更新作业的配置一般有两种解决方法:改变启动参数或者改变配置文件,重启作业,让作业能够读取到修改后的配置 通过读取配置流(需要自定义 Source 读取配置),然后流和流连接起来 这两种解决方法一般是使用的比较多,对于第一种方法...原创 2020-03-30 18:57:47 · 1838 阅读 · 3 评论 -
flink-metric原理与实战
一、背景介绍 flink内部实现了一套metric数据收集库。同时flink自身系统有一些固定的metric数据,包括系统的一些指标,CPU、内存、IO或者各个task运行的一些指标。具体包含那些指标可以查看官方文档:flink-metric。同时我们也可以利用系统的metric库在自己的代码中进行打点收集metrics数据。此外, flink提供了外部接口reporter,可以用...原创 2020-01-17 18:37:18 · 1805 阅读 · 0 评论 -
KeyedProcessFunction功能详解与状态算子State结合实战(附github两个实战案例源码)
目录一、KeyedProcessFunction功能介绍二、使用案例案例一:案例二:一、KeyedProcessFunction功能介绍 KeyProcessFunction是一个低级的Stream处理操作(Operator),可以更加灵活的处理Stream的业务逻辑,它可以访问所有流应用程序的基本构建块:事件(Event) 状态(State,仅支持Keye...原创 2020-01-08 18:16:32 · 1403 阅读 · 0 评论 -
Flink 单并行度内使用多线程,提高写入性能10倍
目录分析痛点方案一:同步批量请求优化为异步请求方案二:多线程 Client 模式实现原理:Flink 算子内多线程代码实现分析痛点 笔者线上有一个 Flink 任务消费 Kafka 数据,将数据转换后,在 Flink 的 Sink 算子内部调用第三方 api 将数据上报到第三方的数 据分析平台。这里使用批量同步 api,即:每 50 条数据请求一次第三方接...原创 2020-01-03 18:40:57 · 5925 阅读 · 1 评论 -
(第八弹)Flink——Flink之Standalone模式HA搭建
针对独立集群的JobManager高可用性的一般思想是,在任何时候都有一个领导的JobManager,并且在领导者失败时有多个备用JobManager来接管领导权。这保证了没有单一的故障点,程序可以在备用JobManager接管后立即继续执行。备用实例和主JobManager实例之间没有明显的区别。每个JobManager都可以充当master或standby角色。一、Mast...原创 2019-08-01 16:47:05 · 587 阅读 · 0 评论 -
(第七弹)Flink——Flink之Grafana监控
对于Flink中taskmanager、jobmanager有没有一个好的监控工具呢?答案是有的,下面让我们来看看如何监控!!!一、版本要求Flink 1.8 +二、Flink配置1)flink-conf.yamlmetrics.reporter.influxdb.class: org.apache.flink.metrics.infl...原创 2019-08-01 15:42:34 · 3741 阅读 · 0 评论 -
(第六弹)Flink——Flink 触发器 Trigger 详解(附案例实战源码)
在Flink中,有两种窗口类型,一种是基于时间的窗口timeWindow,一种是基于计数的窗口countWindow。但是是否存在一种情况,如果使用timeWindow,在窗口时间内,出现大量的数据过来,对该窗口的计算产生很大的压力,那该怎么办呢?是否能够结合两种窗口进行触发呢?答案是可以的,trigger正可以达到你的要求。Trigger的作用: 就是...原创 2019-07-04 14:14:17 · 4562 阅读 · 0 评论 -
(第五弹)Flink——Flink 异步IO (附带RichAsyncFunction实战)
Async I/O 是阿里巴巴贡献给社区的一个呼声非常高的特性,于1.2版本引入。主要目的是为了解决与外部系统交互时网络延迟成为了系统瓶颈的问题。背景 对于实时处理,当需要使用外部存储数据染色的时候,需要小心对待,不能让与外部系统之间的交互延迟对流处理的整个工作进度起决定性的影响。如果我们是使用传统方式mapfunction等算子里访问外部存储,实际上该交...原创 2019-06-26 11:20:45 · 5062 阅读 · 1 评论 -
flink on yarn 运行异常 NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig
flink on yarn模式启动时报错:18/08/25 17:29:28 WARN ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 1.2.018/08/25...原创 2019-06-06 16:01:25 · 942 阅读 · 0 评论 -
(第四弹)Flink——Flink 如何管理 Kafka 消费位点
Flink与Spark Streaming不同的之处,就是在于Flink是纯天然的支持Exactly-once模式,保证数据的不丢失。概念介绍 检查点(Checkpoint)是使 Apache Flink 能从故障恢复的一种内部机制。检查点是 Flink 应用状态的一个一致性副本,包括了输入的读取位点。在发生故障时,Flink 通过从检查点加载应用程序状态来恢...原创 2019-04-30 18:06:53 · 720 阅读 · 0 评论 -
(第三弹)Flink——Flink源码调试
对于一个新框架的学习,第一步往往是对源码初步了解和DEBUG。这些都是学习的套路。 本文主要是讲讲flink的源码编译,案例运行,flink源码调试过程。调试flink的源码及案例,需要先clone工程,编一下源码,去掉规范检查,修改工程,最后才是调试运行。一、clone源代码git clone https://github.com/apache/fli...原创 2019-06-25 15:44:21 · 1067 阅读 · 0 评论 -
(第二弹)Flink——Flink的runtime
Flink运行时角色 Flink运行时主要角色有两个:JobManager和TaskManager,无论是standalone集群,on yarn都是要启动这两个角色。有点类似于MRv1的架构了,JobManager主要是负责接受客户端的job,调度job,协调checkpoint等。TaskManager执行具体的Task。TaskManager为了对资源进行隔离和增加允许的tas...原创 2019-04-30 17:31:22 · 473 阅读 · 0 评论 -
(第一弹)Flink——standalone模式部署
本文以Flink1.8为例讲解,Flink支持运行与所有的类linux环境,比如linux,mac os x和cygwin(windows)等等。部署前准备需要jdk1.8或者更改版本,并设置JAVA_HOME 主机之间需要配置ssh免密码官网案例部署 1.下载安装包wget https://www-eu.apache.org/dist/...原创 2019-04-30 17:12:53 · 1046 阅读 · 0 评论