随笔分类 -  flink

摘要:当我们谈论批流一体,我们在谈论什么? 一、流计算与批计算 一)流计算与批计算 流计算:无限数据之上的计算 批计算:有限数据之上的计算 二)流计算与批计算的比较 特性 批计算 流计算 数据范围 有界数据 无界数据 任务执行 分批执行、有终止 全部执行、无终止 延时 小时级、天级 秒级、分钟级 数据场景 阅读全文
posted @ 2021-11-22 09:31 boiledwater 阅读(8802) 评论(0) 推荐(2)
摘要:1.创建namespace kubectl create namespace flink-session-cluster-test 2.创建账号 kubectl create serviceaccount flink-test -n flink-session-cluster-test 3.创建角色 阅读全文
posted @ 2021-11-19 10:04 boiledwater 阅读(640) 评论(0) 推荐(0)
摘要:无论您是在生产环境中运行Apache Flink or还是在过去将Flink评估为计算框架,您都可能会问自己一个问题:如何在Flink保存点中访问,写入或更新状态?不再询问!Apache Flink 1.9.0引入了State Processor API,它是DataSet API的强大扩展,它允许 阅读全文
posted @ 2019-11-22 08:58 boiledwater 阅读(1113) 评论(0) 推荐(0)
摘要:前不久,Flink社区发布了FLink 1.9版本,在其中包含了一个很重要的新特性,即state processor api,这个框架支持对checkpoint和savepoint进行操作,包括读取、变更、写入等等。 savepoint的可操作带来了很多的可能性: 作业迁移 1.跨类型作业,假如有一 阅读全文
posted @ 2019-11-20 19:44 boiledwater 阅读(2307) 评论(3) 推荐(0)
摘要:Flink中的数据交换是围绕着下面的原则设计的: 1.数据交换的控制流(即,为了启动交换而传递的消息)是由接收者发起的,就像原始的MapReduce一样。 2.用于数据交换的数据流,即通过电缆的实际数据传输,被抽象为了IntermediateResult,并且是可插拔的。 这意味着系统可以使用同一实 阅读全文
posted @ 2019-10-09 10:12 boiledwater 阅读(2786) 评论(0) 推荐(0)
摘要:一、CEP是什么 在应用系统中,总会发生这样或那样的事件,有些事件是用户触发的,有些事件是系统触发的,有些可能是第三方触发的,但它们都可以被看做系统中可观察的状态改变,例如用户登陆应用失败、用户下了一笔订单或RFID传感器回报的消息。应对状态改变的策略可以分为两类,一类是简单事件处理(Simple 阅读全文
posted @ 2019-09-23 09:27 boiledwater 阅读(6016) 评论(0) 推荐(0)
摘要:Flink可以使用zookeeper来进行ha,而一般我们都会使用zookeeper的高级api架构curator来对zk进行通讯。在curator中引入了状态的概念,包括connected,reconnected,suspeneded,lost与read_only,其中suspended是个有意思 阅读全文
posted @ 2019-05-31 10:43 boiledwater 阅读(2651) 评论(1) 推荐(0)
摘要:flink为了保证线上作业的可用性,提供了ha机制,如果发现线上作业失败,则通过ha中存储的信息来实现作业的重新拉起。 我们在flink的线上环境使用了zk为flink的ha提供服务,但在初期,由于资源紧张,只是对zk进行了standalone的部署,但是在后期的使用中,发现单节点的集群很难提供很高 阅读全文
posted @ 2019-04-15 12:24 boiledwater 阅读(999) 评论(0) 推荐(0)
摘要:方式一 通过JDBCOutputFormat 在flink中没有现成的用来写入MySQL的sink,但是flink提供了一个类,JDBCOutputFormat,通过这个类,如果你提供了jdbc的driver,则可以当做sink使用。 JDBCOutputFormat其实是flink的batch a 阅读全文
posted @ 2019-03-06 21:13 boiledwater 阅读(11430) 评论(1) 推荐(1)
摘要:众所周知,flink作为流计算引擎,处理源源不断的数据是其本意,但是在处理数据的过程中,往往可能需要一些参数的传递,那么有哪些方法进行参数的传递?在什么时候使用?这里尝试进行简单的总结。 使用configuration 在main函数中定义变量 使用参数的function需要继承自一个rich的fu 阅读全文
posted @ 2019-02-11 17:04 boiledwater 阅读(18917) 评论(0) 推荐(3)
摘要:一图道尽心酸: 大的原理,上游的task产生数据后,会写在本地的缓存中,然后通知JM自己的数据已经好了,JM通知下游的Task去拉取数据,下游的Task然后去上游的Task拉取数据,形成链条。 但是在何时通知JM?这里有一个设置,比如pipeline还是blocking,pipeline意味着上游哪 阅读全文
posted @ 2018-12-21 16:59 boiledwater 阅读(3384) 评论(0) 推荐(2)
摘要:Apache Calcite是什么东东 Apache Calcite面向Hadoop新的sql引擎,它提供了标准的SQL语言、多种查询优化和连接各种数据源的能力。除此之外,Calcite还提供了OLAP和流处理的查询引擎。它2013年成为了Apache孵化项目以来,在Hadoop中越来越引人注目,并 阅读全文
posted @ 2018-12-19 11:40 boiledwater 阅读(7462) 评论(0) 推荐(1)
摘要:在flink的数据传输过程中,有两类数据,一类数据是控制流数据,比如提交作业,比如连接jm,另一类数据是业务数据。flink对此采用了不同的传输机制,控制流数据的传输采用akka进行,业务类数据传输在自己实现了序列化框架的前提下使用netty进行。之所以采用akka进行控制流数据的传送,是因为akk 阅读全文
posted @ 2018-12-18 20:09 boiledwater 阅读(2546) 评论(0) 推荐(0)
摘要:最近 用户提交了一个问题 说他的jar包里明明包含相关的类型 但是在提交Flink作业的时候 却报出classnotfound的错误 查看之后发现 这里是flink的一个没有说的太明白的地方 用户的代码之所以报错 是因为在代码中引用了mapreduce相关的东西 我们知道 flink会在生成jobG 阅读全文
posted @ 2018-12-06 12:34 boiledwater 阅读(628) 评论(0) 推荐(0)
摘要:目前采用的Flink的版本是1.4.2,运行在yarn上,总是时不时的报错“Invalid AMRMToken from appattempt”,导致AM挂掉。 简而言之,就是AM和RM沟通的过程中,突然AM提供的Token不被认可,导致拒绝连接,进而AM挂掉。 后来发现早期版本的yarn-clie 阅读全文
posted @ 2018-11-13 16:44 boiledwater 阅读(2853) 评论(0) 推荐(0)
摘要:最近接手了一个flink作业,另外一个同事断断续续有的没的写了半年的,不着急,也一直没上线,最近突然要上线,扔给我,要调通上线。 现状是: 1.代码跑不动,资源给的不少,但是就是频繁反压。 2.checkpoint经常失败。 3.也是最严重的,跑着跑着,作业就挂了。 接手之后,秉承着代码的业务逻辑是 阅读全文
posted @ 2018-10-11 18:37 boiledwater 阅读(7707) 评论(1) 推荐(1)
摘要:streamTask的invoke方法中,会循环去调用task上的每个operator的initializeState方法,在这个方法中,会真正创建除了savepointStream的其他三个对象, 而savepointStream会lazy到做savepoint的时候才创建对象,这个也可以理解,毕 阅读全文
posted @ 2018-09-14 21:15 boiledwater 阅读(1429) 评论(1) 推荐(0)
摘要:一、从何说起 State要能发挥作用,就需要持久化到可靠存储中,flink中持久化的动作就是checkpointing,那么从TM中执行的Task的基类StreamTask的checkpoint逻辑说起。 1.streamTask 2.checkpointingOperation 这个类中,直接对s 阅读全文
posted @ 2018-08-24 21:29 boiledwater 阅读(3346) 评论(1) 推荐(0)
摘要:通常我们在编写一个flink的作业的时候,肯定会有依赖的jar包。flink官方希望你将所有的依赖和业务逻辑打成一个fat jar,这样方便提交,因为flink认为你应该对自己的业务逻辑做好单元测试,而不应该把这部分测试工作频繁提交到集群去做。但事实是我们往往不愿意打一个fat jar,我们希望将业 阅读全文
posted @ 2018-08-06 19:58 boiledwater 阅读(4617) 评论(0) 推荐(0)
摘要:1.总览 savepoints是外部存储的自包含的checkpoints,可以用来stop and resume,或者程序升级。savepoints利用checkpointing机制来创建流式作业的状态的完整快照(非增量快照),将checkpoint的数据和元数据都写入到一个外部文件系统。 如何触发 阅读全文
posted @ 2018-08-02 09:37 boiledwater 阅读(2761) 评论(0) 推荐(1)