- 博客(17)
- 收藏
- 关注
原创 Flink1.12源码解读—— 反压机制
Apache Flink作为国内最火的大数据计算引擎之一,自身支持高吞吐,低延迟,exactly-once语义,有状态流等特性,阅读源码有助加深对框架的理解和认知。在各种大数据实时计算系统中,反压机制的实现意味着这个系统能不能经受住大量数据的冲击,像主流的大数据引擎Spark,Storm等都有自己的一套反压实现机制,Flink也有自己的反压机制,当下游Operator消费速度低于上游Operator的生产数据时会触发反压停止数据流动。这章主要解析下,Flink它是如何‘’天然”实现反压的。在前.
2021-03-12 17:38:03
1092
1
原创 Flink1.12源码解读—— Netty通讯模式
Apache Flink作为国内最火的大数据计算引擎之一,自身支持高吞吐,低延迟,exactly-once语义,有状态流等特性,阅读源码有助加深对框架的理解和认知。在之前解析过的Flink物理执行图(一)和Checkpoint过程中我们能看到过程中涉及到了数据的存储和交互,并且在后面分析Task运行任务时也会涉及到频发的数据使用和交互,所以这章主要是解析下Flink自带的内存管理机制和基于Netty的通讯模式已便于加深对它的理解。Flink底层通讯中各组件的通讯使用的Akka(可参考https://
2021-03-11 17:57:05
1581
原创 Flink1.12源码解读——物理执行图(一)之TM实例构建过程
Apache Flink作为国内最火的大数据计算引擎之一,自身支持高吞吐,低延迟,exactly-once语义,有状态流等特性,阅读源码有助加深对框架的理解和认知。Flink分为四种执行图,本章主要解析物理执行图的生成计划前半部分本章及后续源码解读环境以生产为主:运行模式:OnYarn,HA模式:ZK,Mode:Streaming,关键逻辑解释我会备注到代码上(灰色字体)勿忽视。此章节涉及的组件和框架的代码依赖部分大数据生态包括Yarn,Akka,ZK等。建议有此基础上阅读会提高可阅读性和实现理
2021-03-04 19:02:51
989
2
原创 Flink1.12源码解读——Checkpoint详细执行过程
Apache Flink作为国内最火的大数据计算引擎之一,自身支持高吞吐,低延迟,exactly-once语义,有状态流等特性,阅读源码有助加深对框架的理解和认知。Flink分为四种执行图,本章主要解析Execution的生成计划本章及后续源码解读环境以生产为主:运行模式:OnYarn,HA模式:ZK,Mode:Streaming,关键逻辑解释我会备注到代码上(灰色字体)勿忽视。此章节涉及的组件和框架的代码依赖部分大数据生态包括Yarn,Akka,ZK等。建议有此基础上阅读会提高可阅读性和实现理
2021-03-03 14:41:13
1802
原创 Flink1.12源码解读——ExecutionGraph执行图构建过程
Apache Flink作为国内最火的大数据计算引擎之一,自身支持高吞吐,低延迟,exactly-once语义,有状态流等特性,阅读源码有助加深对框架的理解和认知。Flink分为四种执行图,本章主要解析Execution的生成计划本章及后续源码解读环境以生产为主:运行模式:OnYarn,HA模式:ZK,Mode:Streaming,关键逻辑解释我会备注到代码上(灰色字体)勿忽视。此章节涉及的组件和框架的代码依赖部分大数据生态包括Yarn,Akka,ZK等。建议有此基础上阅读会提高可阅读性和实现理
2021-03-01 14:29:53
1187
3
原创 Flink1.12源码解读——JobGraph执行图构建过程
Apache Flink作为国内最火的大数据计算引擎之一,自身支持高吞吐,低延迟,exactly-once语义,有状态流等特性,阅读源码有助加深对框架的理解和认知。Flink分为四种执行图,本章主要解析JobGraph的生成计划本章及后续源码解读环境以生产为主:运行模式:OnYarn,HA模式:ZK,Mode:Streaming,关键逻辑解释我会备注到代码上(灰色字体)勿忽视。Flink会生成JobGraph去优化StreamGraph,其中包括设置Checkpoint,Slot分组策略,内存占
2021-02-26 14:50:18
629
原创 Flink1.12源码解读——StreamGraph执行图构建过程
Apache Flink作为国内最火的大数据计算引擎之一,自身支持高吞吐,低延迟,exactly-once语义,有状态流等特性,阅读源码有助加深对框架的理解和认知。
2021-02-25 18:00:17
608
原创 Spark2.0.X源码深度剖析之 TaskScheduler之Task划分
微信号:519292115邮箱:taosiyuan163@163.com尊重原创,禁止转载!!Spark目前是大数据领域中最火的框架之一,可高效实现离线批处理,实时计算和机器学习等多元化操作,阅读源码有助你加深对框架的理解和认知Task作为Spark的最小执行单元在DAGScheduler划分好Stage之后会提交给TaskSch
2017-07-13 10:16:42
1522
原创 Spark2.0.X源码深度剖析之 DAGScheduler之Stage划分
本人此次的DAGScheduler 源码剖析将涉及最底层的数据结构,每个细节的实现原理,算法,优化细节,各个组件之间交互动作以及纠正网上的一些错误介绍等....保证国内最新最全最细的源码剖析!
2017-07-03 10:58:17
1881
原创 Spark2.0.X源码深度剖析之 RpcEnv & NettyRpcEnv
RpcEnv是各个组件之间通信的执行环境,每个节点之间(Driver或者Worker)组件的Endpoint和对应的EndpointRef之间的信息通信和方法调用都是通过RpcEnv作协调,而底层是通过Netty NIO框架实现(Spark早期版本通信是通过Akka,大的文件传输是通过Netty,在2.0.0版本后统一由Netty替换成了Akka,实现了通信传输统一化)打个比方:像mapOutputTracker(M-S模式,上个章节提及的def registerOrLookupEndpoint)在自己
2017-06-12 10:59:54
2264
1
原创 Spark2.0.X源码深度剖析之 SparkEnv
SparkEnv作为Spark集群中实例的运行执行环境显得非常重要,他存在于Work和Driver里(如果是在Driver端创建的话就会走之前章节中提及到的createSparkEnv中的createDriverEnv,如果是在executor上则会调用CoarseGrainedExecutorBackend的createExecutorEnv来创建SparkEnv)并且会构建 BlockManager,SerializerManager,RprEnv,MapOutputTracker等重要的执行环境组件。
2017-06-11 11:16:41
1354
原创 Spark2.0.X源码深度剖析之 SparkContext
SparkContext作为程序员编写代码的第一个生成对象,它会首先在Driver端创建,除了负责连接集群以外还会在创建的时候会初始化各个核心组件,包括DAGScheduler,TaskScheduler,SparkEnv,accumulator等。
2017-06-10 20:04:31
1099
原创 Spark2.0.X源码深度剖析之 Spark Submit..
Spark目前是大数据领域中最火的框架之一,可高效实现离线批处理,实时计算和机器学习等多元化操作,阅读源码有助你加深对框架的理解和认知本人将依次剖析Spark2.0.0.X版本的各个核心组件,包括以后章节的SparkContext,SparkEnv,RpcEnv,NettyRpc,BlockManager,OutputTracker,TaskScheduler,DAGScheduler等Spark Submit 脚本是客户端提交任务时的入口脚本,里面包含了集群的提交模式,并行个数,core个数等,下面
2017-06-09 20:44:15
1259
原创 完整版opentsdb集群搭建
因为测试电脑长时间没关,早上来宕机了,后来重启发现启动不了,各种问题 然后调试了2天 总算重新搭建起来(hadoop,hbase等都是原生态)至于前面搭建hadoop 和hbase 就不赘述了,直接从搭建oopentsdb开始1.执行./build.sh (如果没执行 就没有build目录 和web的staticroot目录)2.vim /opt/plugins/ope
2016-12-22 17:55:02
3924
原创 非CDH版原生态zookpeer集群搭建
这段时间因为用的hbase 自带的zk做的测试 ,现在想把zk换成真实zk集群 刚搭好顺便做个笔记zookeeper集群(注意:zk各个节点时间必须要一致)集群规划:三个节点1:首先操作把zookeeper-3.4.6.tar.gz上传到服务器的/usr/local2:解压tar -zxvf zookeeper-3.4.6.tar.gz3:重命名mv zo
2016-12-21 16:40:25
1483
原创 关于OpenTSDB的Writing Data数据写入
摘自官网:pushing data over the Telnet or HTTP APIs, or use an existing tool with OpenTSDB support such as 'tcollector'.所有数据可以通过 telent,http apti,和自身支持的tcollecotr 收集到Telnet:
2016-12-20 14:28:51
1730
转载 Scala 偏函数和偏应用函数
偏函数偏函数是指仅定义了输入参数的子集的函数,如下图:这个图显示的一个偏函数:f : X -> Y,该函数仅定义了输入参数X的子集1和3,没有包含2。在Scala中的偏函数是通过特质PartialFunction[-A, +B]来定义的,查看PatialFunction特质的API,可看到PatialFunction定义如下:
2016-12-17 14:05:57
411
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人