![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flink
文章平均质量分 95
独影月下酌酒
这个作者很懒,什么都没留下…
展开
-
Flink Job提交分析
1.概述 Flink 应用程序的提交方式为:打成jar包,通过 flink 命令来进行提交。 flink 命令脚本的底层是通过 java 命令启动:CliFrontend 类 来启动 JVM 进程,执行任务的构造和提交。flink run xxx.jar class arg1 arg2flink.sh 脚本:## flink.shtarget="$0"# For the case, the executable has been directly symlinked, figure out原创 2024-04-22 12:43:30 · 1006 阅读 · 1 评论 -
Flink Graph演变
Flink 集群中运行的 Job,最终归根到底:还是构建一个高效能分布式并行执行的DAG执行图。StreamGraph ==> JobGraph ==> ExecutionGraph ==> 物理执行图。根据用户通过Stream API 编写的代码生成最初的图,用来表示程序的拓扑结构。StreamGraph 经过优化之后生成了 JobGraph,提交给 JobManager 的数据结构。原创 2024-04-19 00:09:02 · 759 阅读 · 1 评论 -
Flink集群从节点TaskManager启动分析(standalone)
TaskManager 是 Flink 集群的工作进程,执行数据流的具体计算,称之为"Worker"。Flink集群必须至少有一个TaskManager;每一个TaskManager都包含了一定数量的任务槽(task slots)。Slot是资源调度的最小单位,slot的数量限制了TaskManager能够并行处理的任务数量。启动之后,TaskManager会向资源管理器注册它的slots;原创 2024-04-01 22:52:25 · 1283 阅读 · 0 评论 -
Flink集群主节点JobManager启动分析(standalone模式)
Flink集群的资源管理器,负责slot的管理和申请工作。Dispatcher负责接收客户端提交的 JobGraph,随后启动一个Jobmanager,类似 Yarn中的ApplicationMaster角色,类似Spark中的Driver角色。JobManager负责一个具体job的执行,在Flink集群中,可能会有多个JobManager 同时执行,job的主控层序。原创 2024-03-29 01:12:46 · 621 阅读 · 0 评论 -
Flink集群启动脚本分析(standalone模式)
1.概述 Flink 集群的启动脚本在:flink-dist 子项目中,位于 flink-bin 下的 bin 目录:启动脚本为:start-cluster.sh。flink-bin 目录管理的是集群运维需要的shell脚本。2.启动脚本2.1 start-cluster.sh调用 config.sh 来获取 masters 和 workers,masters 的信息(从 conf/masters 配置文件中获取)通过 jobmanager.sh 来启动 JobManager原创 2024-03-28 17:04:37 · 691 阅读 · 0 评论 -
Flink RPC初探
RPC( Remote Procedure Call ) 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用。总而言之:RPC是为了解决分布式系统中,各个服务中的调用问题,在进行远程调用时,也像本地调用一样方便,让调用者感知不到远程调用的逻辑。技术组件RPC实现HDFSNettyHBase。原创 2024-03-28 16:30:30 · 1588 阅读 · 0 评论 -
Flink的状态
有状态的计算是流处理框架要实现的重要功能,因为稍复杂的流处理场景都需要记录状态,然后在新流入数据的基础上不断更新状态。数据流中的数据有重复,想对重复数据去重,需要记录哪些数据已经流入过应用,当新数据流入时,根据已流入过的数据来判断去重。检查输入流是否符合某个特定的模式,需要将之前流入的元素以状态的形式缓存下来。比如,判断一个温度传感器数据流中的温度是否在持续上升。对一个时间窗口内的数据进行聚合分析,分析一个小时内某项指标的75分位或99分位的数值。原创 2023-10-04 20:51:29 · 1569 阅读 · 0 评论 -
Flink中的状态一致性
系统要求source端可重设数据的读取位置Flink内部依赖checkpointsink端从故障恢复时,数据不会重复写入外部系统Flink内部通过checkpoint机制, 把状态存盘,发生故障的时候可以恢复,保证内部的状态一致性。输入端输入数据源端的Kafka可以对数据进行持久化保存,并可以重置偏移量(offset)。在Source任务(FlinkKafkaConsumer)中将当前读取的偏移量保存为算子状态,写入到检查点中;原创 2023-09-30 13:50:50 · 913 阅读 · 0 评论