App 下载
注册
登录
|
搜索
正在搜索中...
首页
我的书架
我的主页
我的收藏
我的书评
本书从源代码的角度详细分析了Storm 的设计与实现,共分为三个部分,第一部分介绍了Storm 的基本原理以及Storm 集群系统的搭建方法,第二部分深入剖析了Storm
……
[ 展开全部 ]
的底层架构,如Nimbus、Supervisor、 Worker 以及Task,第三部分系统讨论了Storm 如何实现可靠的消息传输,如Transaction Topology 以及Trident。 本书适用于程序员、架构师以及计算机专业的学生。
[ 收起 ]
作者:李明 王晓鹏
出版社:人民邮电出版社
定价:79.00元
ISBN:7115371261
给个评价
做个书摘
书摘 (21 )
评价 (1 )
查看所有书摘
按目录显示书摘
只显示目录
第1章 总体架构与代码结构 1
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.1 Storm的总体结构 1
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.2 Storm的元数据 3
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.2.1 元数据介绍 3
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.2.2 Storm怎么使用这些元数据 4
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.3 Storm的代码结构 7
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.3.1 Clojure代码 7
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.3.2 Java代码 8
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.3.3 Trident代码 9
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.3.4 其他代码 10
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第2章 搭建Storm集群 11
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.1 搭建单机Storm集群 11
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.2 搭建多机Storm集群 14
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.2.1 设置环境 14
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.2.2 启动Storm集群 15
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.2.3 提交Topology 15
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.3 WordCountTopology介绍 15
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.3.1 RandomSentenceSpout 15
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.3.2 SplitSentence 16
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.3.3 WordCount 17
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.3.4 WordCountTopology构建 17
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第3章 Storm编程基础 19
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.1 Fields定义 19
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.2 Tuple接口 20
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3 常用声明接口 21
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.1 配置声明接口 22
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.2 输入声明接口 23
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.3 输出字段声明接口 24
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3.4 组件声明接口 25
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.4 Spout输出收集器 25
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.4.1 ISpoutOutputCollector和SpoutOutputCollector
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.4.2 Executor中ISpoutOutputCollector的实现 27
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.5 Bolt输出收集器 28
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.5.1 IOutputCollector和OutputCollector 28
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.5.2 IBasicOutputCollector和BasicOutputCollector
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.5.3 BatchOutputCollector和BatchOutputCollectorImp
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.5.4 Executor中的IOutputCollector实现 34
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.6 组件接口 35
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.7 Spout接口 35
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.7.1 ISpout 36
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.7.2 IRichSpout 38
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.8 Bolt接口 38
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.8.1 IBolt 38
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.8.2 IRichBolt 40
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.8.3 IBasicBolt 40
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.8.4 IBatchBolt 42
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.8.5 小结 45
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9 Storm数据结构 46
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.1 GlobalStreamId 46
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.2 消息分组方式 46
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.3 StreamInfo 47
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.4 ShellComponent 47
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.5 ComponentObject 47
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.6 ComponentCommon 47
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.7 SpoutSpec 48
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.8 Bolt 48
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.9 StormTopology 49
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.10 TopologySummary 49
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.11 SupervisorSummary 49
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.12 ClusterSummary 50
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.13 BoltStats 50
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.14 SpoutStats 50
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.15 统计信息 50
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.9.16 DRPC 51
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.10 基本Topology构建器 52
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.10.1 TopologyBuilder 52
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.10.2 ConfigGetter 55
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.10.3 SpoutGetter和BoltGetter 55
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.10.4 一个简单例子 56
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.11 异常处理 57
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第4章 基础函数和工具类 58
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.1 计时器 58
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.1.1 mk-timer 58
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.1.2 check-active! 60
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.1.3 schedule 60
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.1.4 schedule-recurring 60
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.1.5 cancel-timer 61
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.2 async-loop 61
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.3 event-manager 62
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.4 even-sampler 63
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.5 ZooKeeper工具类 64
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.5.1 mk-client 64
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.5.2 create-node 65
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.5.3 get-data 65
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.5.4 进程内启动ZooKeeper 66
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.6 LocalState 66
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.7 ClusterState 68
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.8 StormClusterState 69
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第5章 通信机制 71
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.1 进程间通信 71
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.1.1 进程间通信协议 71
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.1.2 LocalCluster模式实现 72
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.1.3 分布式模式实现 73
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.1.4 协议使用 75
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.2 进程内通信 77
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.2.1 Disruptor Queue的使用 77
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.2.2 DisruptorQueue的Clojure处理器 80
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第6章 Nimbus 81
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.1 Nimbus服务接口定义 81
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2 Nimbus相关的数据结构 83
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2.1 Java 数据结构 83
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2.2 Clojure数据结构 84
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.3 Nimbus中的线程介绍 86
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.3.1 mk-assignments 87
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.3.2 do-cleanup 89
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.3.3 clean-inbox 90
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.4 Topology状态转移 90
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.4.1 transition-name! 90
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.4.2 transition! 91
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.4.3 state-transitions 92
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.5 启动Nimbus服务 96
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.5.1 launch-server! 96
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.5.2 service-handler 97
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.6 关闭Nimbus服务 99
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.7 主要服务方法 99
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.7.1 submitTopology 99
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.7.2 kill、rebalance、activate、deactivate 方法 101
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.7.3 文件上传与下载 102
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.7.4 获取UI所需的信息 104
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.7.3 获取Topology 106
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.7.6 获取Storm配置项 107
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.8 主要辅助方法 107
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.8.1 system-topology! 107
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.8.2 normalize-topology 112
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.8.3 compute-new-topology->executor->node+port 1
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.8.4 compute-executors 117
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第7章 Scheduler 119
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1 IScheduler接口 119
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2 EvenScheduler 120
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2.1 schedule-topolpgies-evenly 120
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2.2 schedule-topology 121
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2.3 get-alive-assigned-node+
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
port->executors 122
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2.4 sort-slots 123
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.3 DefaultScheduler 124
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.3.1 default-schedule 124
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.3.2 slots-can-reassign 126
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.3.3 bad-slots 126
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.4 IsolationScheduler 127
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.5 调度示例 131
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.5.1 EvenScheduler和DefaultScheduler 131
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.5.2 IsolationScheduler 134
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第8章 Scheduler 137
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1 与Supervisor相关的数据结构 137
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1.1 standalone-supervisor 137
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1.2 Supervisor的数据 138
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1.3 本地存储数据 139
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.2 Supervisor中的线程 140
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.2.1 计时器线程 140
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.2.2 同步Nimbus任务的线程 140
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.2.3 管理Worker进程的线程 143
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.3 启动Supervisor 145
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.4 关闭Supervisor 147
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.5 重要方法介绍 147
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.5.1 launch-worker 147
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.5.2 read-allocated-workers 150
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.5.3 wait-for-worker-launch 151
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.5.4 shutdown-worker 152
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.5.5 download-storm-code 152
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第9章 Worker 155
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.1 Worker中的数据 155
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2 Worker中的计时器 157
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2.1 Worker的心跳 157
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2.2 Executor的心跳 158
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2.3 Worker中对ZMQ连接的维护 159
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2.4 从ZooKeeper获取Topology的活跃情况 161
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2.5 小结 162
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.3 创建Worker 163
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.4 关闭Worker 164
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.5 重要辅助方法介绍 165
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.5.1 Worker中的接收函数 166
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.5.2 Worker中的发送函数 167
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.5.3 获取属于Worker的Executor 169
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.5.4 创建Executor的接收消息队列和查找表 169
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.5.5 下载Topology的配置项以及代码 170
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.6 小结 171
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第10章 Executor 172
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.1 Executor的数据 172
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.2 Executor的输入和输出 174
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.2.1 Executor的输入及处理 174
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.2.2 Executor的输出及发送 175
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.3 Spout类型的Executor 176
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.3.1 准备消息循环的数据 176
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.3.2 Spout输入处理函数 178
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.3.3 Spout消息发送函数 180
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.3.4 Spout对象的初始化 181
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.3.5 消息循环 182
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.4 Bolt类型的Executor 184
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.4.1 准备消息循环的数据 184
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.4.2 Bolt输入处理函数 184
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.4.3 Bolt的消息发送函数 185
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.4.4 Bolt对象的初始化 185
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.4.5 消息循环 186
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.5 创建Executor 187
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.6 辅助函数介绍 188
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.6.1 组件的Grouper函数 188
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.6.2 带流量控制的错误报告方法 193
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.6.3 触发系统Ticks 194
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.7 小结 196
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第11章 Task 198
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.1 Task的上下文对象 198
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.1.1 TopologyContext 198
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.1.2 GeneralTopologyContext 199
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.1.3 WorkerTopologyContext 200
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.1.4 TopologyContext 201
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.2 创建Task数据 202
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.3 mk-tasks-fn函数 204
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.4 send-unanchored 205
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.5 创建Task 206
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.6 Storm中传输的消息以及序列化 206
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第12章 Storm的Ack框架 208
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.1 Acker Bolt的实现分析 209
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.2 启动消息跟踪 211
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.3 消息跟踪 212
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.4 Ack机制的例子 214
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第13章 系统运行统计 216
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.1 基础数据结构以及更新算法 216
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.1.1 滑动窗口的数据结构 216
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.1.2 滑动窗口的回调函数 220
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.1.3 滑动窗口集合的类型 221
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.2 Storm中的统计信息 222
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.2.1 Stats中定义的统计类别 222
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.2.2 运行统计的更新 223
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.2.3 运行统计的更新时间点 223
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.2.4 获取统计数据 228
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.3 运行统计的Thrift结构 229
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第14章 系统运行统计的另一种实现 231
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.1 内置统计信息的计算 231
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.1.1 MultiCountMetric 232
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.1.2 MultiReducedMetric 233
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.2 内置统计类型 234
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.2.1 Spout类型的内置统计 235
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.2.2 Bolt类型的内置统计 235
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3 统计触发消息 235
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.1 注册统计信息 236
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.2 触发消息的产生与发送 237
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3.3 处理统计触发消息 238
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.4 运行统计收集节点 239
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.5 SystemBolt 241
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第15章 事务Topology的实现 243
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.1 事务Topology的实现概述 243
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.1.1 事务Topology的类型 244
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.1.2 事务Topology的类关系 245
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.2 ITransactionalSpout接口 246
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.3 协调Spout节点的执行器 248
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.3.1 ZooKeeper客户端工具 248
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.3.2 协调Spout的执行器 255
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.3.3 消息发送Bolt的执行器 261
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.4 CoordinatedBolt的实现分析 264
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.4.1 TrackingInfo 264
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.4.2 CoordinatedOutput-
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
Collector 265
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.4.3 CoordinatedBolt中的消息类型 267
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.4.4 成员变量以及主要方法分析 267
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.5 分区的事务类型 271
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.5.1 分区的事务Spout接口 271
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.5.2 分区的事务Spout的执行器 273
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.6 分区的模糊事务Spout 277
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.6.1 分区的模糊事务Spout的接口 277
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.6.2 模糊的事务Spout执行器 278
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.7 事务Topology的构建器 281
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.7.1 构建器的构造函数及成员变量 281
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.7.2 设置Bolt对象 283
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.7.3 构建Topology 284
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.7.4 输入流声明器 286
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第16章 事务Topology示例 288
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.1 例子代码 288
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.1.1 分区的事务Spout 288
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.1.2 局部计数Bolt的实现 291
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.1.3 全局计数Bolt的实现 292
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.2 构建Topology 293
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.3 事务处理示例 295
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第17章 Trident的Spout节点 298
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.1 ITridentSpout接口 298
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.1.1 BatchCoordinator接口 299
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.1.2 TridentSpoutCoordinator 300
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.1.3 MasterBatchCoordinator 301
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.1.4 消息发送节点接口 306
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.1.5 消息发送接口的执行器 306
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.2 适配IRichSpout接口 307
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.3 适配IBatchSpout接口 311
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.4 Trident中分区的Spout类型 311
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.4.1 分区Spout接口 311
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.4.2 分区Spout的执行器 313
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.5 模糊事务类型的Spout节点 316
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.5.1 模糊事务类型的Spout接口 317
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.5.2 模糊事务类型Spout的执行器 317
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.6 构建Spout节点 320
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.6.1 TridentTopology的newStream调用 320
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.6.2 TridentTopology中newDRPCStream调用 321
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第18章 Trident的存储 322
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.1 存储的基本接口 322
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.2 MapState接口的实现 323
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.2.1 非事务类型的存储 324
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.2.2 事务类型的存储 325
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.2.3 模糊事务类型存储 327
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.3 值的序列化方法 329
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.4 数据更新接口 330
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.4.1 CombinerValueUpdater 330
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.4.2 ReducerValueUpdater 331
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.5 存储更新接口 331
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.5.1 ReducerAggStateUpdater 332
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.5.2 MapReducerAggStateUpdater 332
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.5.3 BaseStateUpdater 334
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.6 创建存储对象 334
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第19章 Trident消息 336
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.1 ValuePointer 336
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.2 Factory接口及其实现 337
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.2.1 ProjectionFactory 338
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.2.2 FreshOutputFactory 339
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.2.3 OperationOutputFactory 339
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.2.4 RootFactory 341
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.3 消息工厂的例子 342
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.4 TridentTupleView 342
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.5 ComboList 343
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第20章 Trident操作与处理节点 346
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.1 操作的基本接口 346
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.2 Aggregator实现 347
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.2.1 GroupedAggregator 348
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.2.2 ChainedAggregatorImpl 350
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.2.3 SingleEmitAggregator 353
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.3 用户接口及其实现 355
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.3.1 ReducerAggregator接口及其实现 355
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.3.2 CombinerAggregator接口及其实现 356
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.4 所有处理节点的上下文 357
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.4.1 单个处理节点的上下文 358
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.4.2 操作执行的上下文 359
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5 Trident的输出收集器 359
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5.1 FreshCollector 359
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5.2 CaptureCollector 360
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5.3 GroupCollector 360
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5.4 AppendCollector 361
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5.5 AddIdCollector 361
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.6 Trident的处理节点 362
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.6.1 TridentProcessor接口 363
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.6.2 PartitionPersistProcessor 363
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.6.3 StateQueryProcessor 365
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.7 聚集器的执行 367
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第21章 Trident流的基本操作 370
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1 流的成员变量和基础方法 370
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1.1 流的成员变量 370
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1.2 流节点名字 370
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1.3 流的映射检查 372
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1.4 添加节点 372
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.2 流映射操作 373
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.3 流的分组操作 374
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.4 流的逐行操作 374
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.5 流的分区操作 374
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.6 流的单聚集器聚集操作 376
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.7 流的多聚集器聚集操作 377
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.7.1 ChainedAggregatorDeclarer 377
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.7.2 分区上的局部聚集操作 379
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.7.3 全局聚集操作 379
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.7.4 含有多个聚集器的partitionAggregate操作 381
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.8 流的聚集操作 382
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.9 流的分区写入操作 383
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.10 查询操作 384
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.11 流的全局写入操作 384
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.12 流的操作与有向图构建 384
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.13 分组流 385
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.13.1 成员变量 385
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.13.2 逐行操作 385
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.13.3 分组流的分区聚集操作 386
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.13.4 查询操作 386
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.13.5 聚集操作 386
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.13.6 写入操作 387
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.14 利用流操作来构建Topology的例子 388
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第22章 Trident中流的交互操作 392
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.1 基本接口 392
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.2 JoinerMultiReducer 393
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.2.1 成员变量及构造函数 393
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.2.2 execute方法 395
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.2.3 complete方法 397
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.3 GroupedMultiReducerExecutor 397
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.4 MultiReducerProcessor 399
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.5 连接操作 401
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.6 流合并操作 403
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第23章 Trident中的Bolt节点 404
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.1 SubTopologyBolt 404
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.1.1 输入准备 404
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.1.2 成员变量 405
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.1.3 主要方法 406
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.2 Trident中的Bolt执行器 409
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.2.1 ITridentBatchBolt接口 410
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.2.2 TrackedBatch 410
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.2.3 定制的输出收集器 412
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.2.4 消息类型 414
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.2.5 数据成员分析 414
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
23.2.6 主要成员方法分析 416
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第24章 Trident的执行优化 420
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.1 节点类型 420
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.1.1 基本节点类型 420
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.1.2 Spout节点 422
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.1.3 处理节点 422
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.1.4 分区节点 423
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2 执行优化算法 426
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2.1 节点组 426
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2.2 节点组的合并算法 427
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2.3 处理节点组中的分区节点 431
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2.4 节点组以不同的方式收听相同流 431
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2.5 执行优化后的节点组 434
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
24.2.6 计算节点组的并行度 434
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第25章 Trident与DRPC 437
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.1 DRPC服务器 438
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.1.1 DRPC服务器的成员变量 438
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
52.1.2 DRPC用户接口及其实现 439
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.1.3 DRPC Topology端接口及其实现 440
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.1.4 启动DRPC服务器 441
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.2 DRPC的客户端 442
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.3 DRPC中Spout节点 443
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.4 DRPC Spout的执行器 446
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.5 completeDRPC操作 449
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
25.6 返回DRPC结果 451
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第26章 Trident的Topology构建器 453
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.1 基本工具函数 453
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.1.1 committerBatches 453
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.1.2 fleshOutStreamBatchIds 453
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.1.3 getOutputStreamBatchGroups 454
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.2 TridentTopologyBuilder 455
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.2.1 成员变量 455
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.2.2 设置Spout节点 456
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.2.3 设置Bolt节点 458
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
26.3 一个例子 460
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第27章 多语言 462
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.1 ShellProcess 462
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.2 ShellBolt 464
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.2.1 成员变量 464
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.2.2 读写线程 465
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
27.3 ShellSpout 467
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第28章 Storm中的配置项 469
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
导购链接
×
做书摘
文字书摘
读图识字
至少还需要输入
10
字
保存原图片为书摘
上传图片
识别
最多输入
500
个字
上传图片
重新上传
写点笔记吧
至少还需要输入
10
字
章节(选填)
第1章 总体架构与代码结构 1
1.1 Storm的总体结构 1
1.2 Storm的元数据 3
1.2.1 元数据介绍 3
1.2.2 Storm怎么使用这些元数据 4
1.3 Storm的代码结构 7
1.3.1 Clojure代码 7
1.3.2 Java代码 8
1.3.3 Trident代码 9
1.3.4 其他代码 10
第2章 搭建Storm集群 11
2.1 搭建单机Storm集群 11
2.2 搭建多机Storm集群 14
2.2.1 设置环境 14
2.2.2 启动Storm集群 15
2.2.3 提交Topology 15
2.3 WordCountTopology介绍 15
2.3.1 RandomSentenceSpout 15
2.3.2 SplitSentence 16
2.3.3 WordCount 17
2.3.4 WordCountTopology构建 17
第3章 Storm编程基础 19
3.1 Fields定义 19
3.2 Tuple接口 20
3.3 常用声明接口 21
3.3.1 配置声明接口 22
3.3.2 输入声明接口 23
3.3.3 输出字段声明接口 24
3.3.4 组件声明接口 25
3.4 Spout输出收集器 25
3.4.1 ISpoutOutputCollector和SpoutOutputCollector
3.4.2 Executor中ISpoutOutputCollector的实现 27
3.5 Bolt输出收集器 28
3.5.1 IOutputCollector和OutputCollector 28
3.5.2 IBasicOutputCollector和BasicOutputCollector
3.5.3 BatchOutputCollector和BatchOutputCollectorImp
3.5.4 Executor中的IOutputCollector实现 34
3.6 组件接口 35
3.7 Spout接口 35
3.7.1 ISpout 36
3.7.2 IRichSpout 38
3.8 Bolt接口 38
3.8.1 IBolt 38
3.8.2 IRichBolt 40
3.8.3 IBasicBolt 40
3.8.4 IBatchBolt 42
3.8.5 小结 45
3.9 Storm数据结构 46
3.9.1 GlobalStreamId 46
3.9.2 消息分组方式 46
3.9.3 StreamInfo 47
3.9.4 ShellComponent 47
3.9.5 ComponentObject 47
3.9.6 ComponentCommon 47
3.9.7 SpoutSpec 48
3.9.8 Bolt 48
3.9.9 StormTopology 49
3.9.10 TopologySummary 49
3.9.11 SupervisorSummary 49
3.9.12 ClusterSummary 50
3.9.13 BoltStats 50
3.9.14 SpoutStats 50
3.9.15 统计信息 50
3.9.16 DRPC 51
3.10 基本Topology构建器 52
3.10.1 TopologyBuilder 52
3.10.2 ConfigGetter 55
3.10.3 SpoutGetter和BoltGetter 55
3.10.4 一个简单例子 56
3.11 异常处理 57
第4章 基础函数和工具类 58
4.1 计时器 58
4.1.1 mk-timer 58
4.1.2 check-active! 60
4.1.3 schedule 60
4.1.4 schedule-recurring 60
4.1.5 cancel-timer 61
4.2 async-loop 61
4.3 event-manager 62
4.4 even-sampler 63
4.5 ZooKeeper工具类 64
4.5.1 mk-client 64
4.5.2 create-node 65
4.5.3 get-data 65
4.5.4 进程内启动ZooKeeper 66
4.6 LocalState 66
4.7 ClusterState 68
4.8 StormClusterState 69
第5章 通信机制 71
5.1 进程间通信 71
5.1.1 进程间通信协议 71
5.1.2 LocalCluster模式实现 72
5.1.3 分布式模式实现 73
5.1.4 协议使用 75
5.2 进程内通信 77
5.2.1 Disruptor Queue的使用 77
5.2.2 DisruptorQueue的Clojure处理器 80
第6章 Nimbus 81
6.1 Nimbus服务接口定义 81
6.2 Nimbus相关的数据结构 83
6.2.1 Java 数据结构 83
6.2.2 Clojure数据结构 84
6.3 Nimbus中的线程介绍 86
6.3.1 mk-assignments 87
6.3.2 do-cleanup 89
6.3.3 clean-inbox 90
6.4 Topology状态转移 90
6.4.1 transition-name! 90
6.4.2 transition! 91
6.4.3 state-transitions 92
6.5 启动Nimbus服务 96
6.5.1 launch-server! 96
6.5.2 service-handler 97
6.6 关闭Nimbus服务 99
6.7 主要服务方法 99
6.7.1 submitTopology 99
6.7.2 kill、rebalance、activate、deactivate 方法 101
6.7.3 文件上传与下载 102
6.7.4 获取UI所需的信息 104
6.7.3 获取Topology 106
6.7.6 获取Storm配置项 107
6.8 主要辅助方法 107
6.8.1 system-topology! 107
6.8.2 normalize-topology 112
6.8.3 compute-new-topology->executor->node+port 1
6.8.4 compute-executors 117
第7章 Scheduler 119
7.1 IScheduler接口 119
7.2 EvenScheduler 120
7.2.1 schedule-topolpgies-evenly 120
7.2.2 schedule-topology 121
7.2.3 get-alive-assigned-node+
port->executors 122
7.2.4 sort-slots 123
7.3 DefaultScheduler 124
7.3.1 default-schedule 124
7.3.2 slots-can-reassign 126
7.3.3 bad-slots 126
7.4 IsolationScheduler 127
7.5 调度示例 131
7.5.1 EvenScheduler和DefaultScheduler 131
7.5.2 IsolationScheduler 134
第8章 Scheduler 137
8.1 与Supervisor相关的数据结构 137
8.1.1 standalone-supervisor 137
8.1.2 Supervisor的数据 138
8.1.3 本地存储数据 139
8.2 Supervisor中的线程 140
8.2.1 计时器线程 140
8.2.2 同步Nimbus任务的线程 140
8.2.3 管理Worker进程的线程 143
8.3 启动Supervisor 145
8.4 关闭Supervisor 147
8.5 重要方法介绍 147
8.5.1 launch-worker 147
8.5.2 read-allocated-workers 150
8.5.3 wait-for-worker-launch 151
8.5.4 shutdown-worker 152
8.5.5 download-storm-code 152
第9章 Worker 155
9.1 Worker中的数据 155
9.2 Worker中的计时器 157
9.2.1 Worker的心跳 157
9.2.2 Executor的心跳 158
9.2.3 Worker中对ZMQ连接的维护 159
9.2.4 从ZooKeeper获取Topology的活跃情况 161
9.2.5 小结 162
9.3 创建Worker 163
9.4 关闭Worker 164
9.5 重要辅助方法介绍 165
9.5.1 Worker中的接收函数 166
9.5.2 Worker中的发送函数 167
9.5.3 获取属于Worker的Executor 169
9.5.4 创建Executor的接收消息队列和查找表 169
9.5.5 下载Topology的配置项以及代码 170
9.6 小结 171
第10章 Executor 172
10.1 Executor的数据 172
10.2 Executor的输入和输出 174
10.2.1 Executor的输入及处理 174
10.2.2 Executor的输出及发送 175
10.3 Spout类型的Executor 176
10.3.1 准备消息循环的数据 176
10.3.2 Spout输入处理函数 178
10.3.3 Spout消息发送函数 180
10.3.4 Spout对象的初始化 181
10.3.5 消息循环 182
10.4 Bolt类型的Executor 184
10.4.1 准备消息循环的数据 184
10.4.2 Bolt输入处理函数 184
10.4.3 Bolt的消息发送函数 185
10.4.4 Bolt对象的初始化 185
10.4.5 消息循环 186
10.5 创建Executor 187
10.6 辅助函数介绍 188
10.6.1 组件的Grouper函数 188
10.6.2 带流量控制的错误报告方法 193
10.6.3 触发系统Ticks 194
10.7 小结 196
第11章 Task 198
11.1 Task的上下文对象 198
11.1.1 TopologyContext 198
11.1.2 GeneralTopologyContext 199
11.1.3 WorkerTopologyContext 200
11.1.4 TopologyContext 201
11.2 创建Task数据 202
11.3 mk-tasks-fn函数 204
11.4 send-unanchored 205
11.5 创建Task 206
11.6 Storm中传输的消息以及序列化 206
第12章 Storm的Ack框架 208
12.1 Acker Bolt的实现分析 209
12.2 启动消息跟踪 211
12.3 消息跟踪 212
12.4 Ack机制的例子 214
第13章 系统运行统计 216
13.1 基础数据结构以及更新算法 216
13.1.1 滑动窗口的数据结构 216
13.1.2 滑动窗口的回调函数 220
13.1.3 滑动窗口集合的类型 221
13.2 Storm中的统计信息 222
13.2.1 Stats中定义的统计类别 222
13.2.2 运行统计的更新 223
13.2.3 运行统计的更新时间点 223
13.2.4 获取统计数据 228
13.3 运行统计的Thrift结构 229
第14章 系统运行统计的另一种实现 231
14.1 内置统计信息的计算 231
14.1.1 MultiCountMetric 232
14.1.2 MultiReducedMetric 233
14.2 内置统计类型 234
14.2.1 Spout类型的内置统计 235
14.2.2 Bolt类型的内置统计 235
14.3 统计触发消息 235
14.3.1 注册统计信息 236
14.3.2 触发消息的产生与发送 237
14.3.3 处理统计触发消息 238
14.4 运行统计收集节点 239
14.5 SystemBolt 241
第15章 事务Topology的实现 243
15.1 事务Topology的实现概述 243
15.1.1 事务Topology的类型 244
15.1.2 事务Topology的类关系 245
15.2 ITransactionalSpout接口 246
15.3 协调Spout节点的执行器 248
15.3.1 ZooKeeper客户端工具 248
15.3.2 协调Spout的执行器 255
15.3.3 消息发送Bolt的执行器 261
15.4 CoordinatedBolt的实现分析 264
15.4.1 TrackingInfo 264
15.4.2 CoordinatedOutput-
Collector 265
15.4.3 CoordinatedBolt中的消息类型 267
15.4.4 成员变量以及主要方法分析 267
15.5 分区的事务类型 271
15.5.1 分区的事务Spout接口 271
15.5.2 分区的事务Spout的执行器 273
15.6 分区的模糊事务Spout 277
15.6.1 分区的模糊事务Spout的接口 277
15.6.2 模糊的事务Spout执行器 278
15.7 事务Topology的构建器 281
15.7.1 构建器的构造函数及成员变量 281
15.7.2 设置Bolt对象 283
15.7.3 构建Topology 284
15.7.4 输入流声明器 286
第16章 事务Topology示例 288
16.1 例子代码 288
16.1.1 分区的事务Spout 288
16.1.2 局部计数Bolt的实现 291
16.1.3 全局计数Bolt的实现 292
16.2 构建Topology 293
16.3 事务处理示例 295
第17章 Trident的Spout节点 298
17.1 ITridentSpout接口 298
17.1.1 BatchCoordinator接口 299
17.1.2 TridentSpoutCoordinator 300
17.1.3 MasterBatchCoordinator 301
17.1.4 消息发送节点接口 306
17.1.5 消息发送接口的执行器 306
17.2 适配IRichSpout接口 307
17.3 适配IBatchSpout接口 311
17.4 Trident中分区的Spout类型 311
17.4.1 分区Spout接口 311
17.4.2 分区Spout的执行器 313
17.5 模糊事务类型的Spout节点 316
17.5.1 模糊事务类型的Spout接口 317
17.5.2 模糊事务类型Spout的执行器 317
17.6 构建Spout节点 320
17.6.1 TridentTopology的newStream调用 320
17.6.2 TridentTopology中newDRPCStream调用 321
第18章 Trident的存储 322
18.1 存储的基本接口 322
18.2 MapState接口的实现 323
18.2.1 非事务类型的存储 324
18.2.2 事务类型的存储 325
18.2.3 模糊事务类型存储 327
18.3 值的序列化方法 329
18.4 数据更新接口 330
18.4.1 CombinerValueUpdater 330
18.4.2 ReducerValueUpdater 331
18.5 存储更新接口 331
18.5.1 ReducerAggStateUpdater 332
18.5.2 MapReducerAggStateUpdater 332
18.5.3 BaseStateUpdater 334
18.6 创建存储对象 334
第19章 Trident消息 336
19.1 ValuePointer 336
19.2 Factory接口及其实现 337
19.2.1 ProjectionFactory 338
19.2.2 FreshOutputFactory 339
19.2.3 OperationOutputFactory 339
19.2.4 RootFactory 341
19.3 消息工厂的例子 342
19.4 TridentTupleView 342
19.5 ComboList 343
第20章 Trident操作与处理节点 346
20.1 操作的基本接口 346
20.2 Aggregator实现 347
20.2.1 GroupedAggregator 348
20.2.2 ChainedAggregatorImpl 350
20.2.3 SingleEmitAggregator 353
20.3 用户接口及其实现 355
20.3.1 ReducerAggregator接口及其实现 355
20.3.2 CombinerAggregator接口及其实现 356
20.4 所有处理节点的上下文 357
20.4.1 单个处理节点的上下文 358
20.4.2 操作执行的上下文 359
20.5 Trident的输出收集器 359
20.5.1 FreshCollector 359
20.5.2 CaptureCollector 360
20.5.3 GroupCollector 360
20.5.4 AppendCollector 361
20.5.5 AddIdCollector 361
20.6 Trident的处理节点 362
20.6.1 TridentProcessor接口 363
20.6.2 PartitionPersistProcessor 363
20.6.3 StateQueryProcessor 365
20.7 聚集器的执行 367
第21章 Trident流的基本操作 370
21.1 流的成员变量和基础方法 370
21.1.1 流的成员变量 370
21.1.2 流节点名字 370
21.1.3 流的映射检查 372
21.1.4 添加节点 372
21.2 流映射操作 373
21.3 流的分组操作 374
21.4 流的逐行操作 374
21.5 流的分区操作 374
21.6 流的单聚集器聚集操作 376
21.7 流的多聚集器聚集操作 377
21.7.1 ChainedAggregatorDeclarer 377
21.7.2 分区上的局部聚集操作 379
21.7.3 全局聚集操作 379
21.7.4 含有多个聚集器的partitionAggregate操作 381
21.8 流的聚集操作 382
21.9 流的分区写入操作 383
21.10 查询操作 384
21.11 流的全局写入操作 384
21.12 流的操作与有向图构建 384
21.13 分组流 385
21.13.1 成员变量 385
21.13.2 逐行操作 385
21.13.3 分组流的分区聚集操作 386
21.13.4 查询操作 386
21.13.5 聚集操作 386
21.13.6 写入操作 387
21.14 利用流操作来构建Topology的例子 388
第22章 Trident中流的交互操作 392
22.1 基本接口 392
22.2 JoinerMultiReducer 393
22.2.1 成员变量及构造函数 393
22.2.2 execute方法 395
22.2.3 complete方法 397
22.3 GroupedMultiReducerExecutor 397
22.4 MultiReducerProcessor 399
22.5 连接操作 401
22.6 流合并操作 403
第23章 Trident中的Bolt节点 404
23.1 SubTopologyBolt 404
23.1.1 输入准备 404
23.1.2 成员变量 405
23.1.3 主要方法 406
23.2 Trident中的Bolt执行器 409
23.2.1 ITridentBatchBolt接口 410
23.2.2 TrackedBatch 410
23.2.3 定制的输出收集器 412
23.2.4 消息类型 414
23.2.5 数据成员分析 414
23.2.6 主要成员方法分析 416
第24章 Trident的执行优化 420
24.1 节点类型 420
24.1.1 基本节点类型 420
24.1.2 Spout节点 422
24.1.3 处理节点 422
24.1.4 分区节点 423
24.2 执行优化算法 426
24.2.1 节点组 426
24.2.2 节点组的合并算法 427
24.2.3 处理节点组中的分区节点 431
24.2.4 节点组以不同的方式收听相同流 431
24.2.5 执行优化后的节点组 434
24.2.6 计算节点组的并行度 434
第25章 Trident与DRPC 437
25.1 DRPC服务器 438
25.1.1 DRPC服务器的成员变量 438
52.1.2 DRPC用户接口及其实现 439
25.1.3 DRPC Topology端接口及其实现 440
25.1.4 启动DRPC服务器 441
25.2 DRPC的客户端 442
25.3 DRPC中Spout节点 443
25.4 DRPC Spout的执行器 446
25.5 completeDRPC操作 449
25.6 返回DRPC结果 451
第26章 Trident的Topology构建器 453
26.1 基本工具函数 453
26.1.1 committerBatches 453
26.1.2 fleshOutStreamBatchIds 453
26.1.3 getOutputStreamBatchGroups 454
26.2 TridentTopologyBuilder 455
26.2.1 成员变量 455
26.2.2 设置Spout节点 456
26.2.3 设置Bolt节点 458
26.3 一个例子 460
第27章 多语言 462
27.1 ShellProcess 462
27.2 ShellBolt 464
27.2.1 成员变量 464
27.2.2 读写线程 465
27.3 ShellSpout 467
第28章 Storm中的配置项 469
页码(选填)
这本书已经添加了这些章节,请勾选或者新建你的书摘所属的章节
add
up
down
remove
第1章 总体架构与代码结构 1
1.1 Storm的总体结构 1
1.2 Storm的元数据 3
1.2.1 元数据介绍 3
1.2.2 Storm怎么使用这些元数据 4
1.3 Storm的代码结构 7
1.3.1 Clojure代码 7
1.3.2 Java代码 8
1.3.3 Trident代码 9
1.3.4 其他代码 10
第2章 搭建Storm集群 11
2.1 搭建单机Storm集群 11
2.2 搭建多机Storm集群 14
2.2.1 设置环境 14
2.2.2 启动Storm集群 15
2.2.3 提交Topology 15
2.3 WordCountTopology介绍 15
2.3.1 RandomSentenceSpout 15
2.3.2 SplitSentence 16
2.3.3 WordCount 17
2.3.4 WordCountTopology构建 17
第3章 Storm编程基础 19
3.1 Fields定义 19
3.2 Tuple接口 20
3.3 常用声明接口 21
3.3.1 配置声明接口 22
3.3.2 输入声明接口 23
3.3.3 输出字段声明接口 24
3.3.4 组件声明接口 25
3.4 Spout输出收集器 25
3.4.1 ISpoutOutputCollector和SpoutOutputCollector
3.4.2 Executor中ISpoutOutputCollector的实现 27
3.5 Bolt输出收集器 28
3.5.1 IOutputCollector和OutputCollector 28
3.5.2 IBasicOutputCollector和BasicOutputCollector
3.5.3 BatchOutputCollector和BatchOutputCollectorImp
3.5.4 Executor中的IOutputCollector实现 34
3.6 组件接口 35
3.7 Spout接口 35
3.7.1 ISpout 36
3.7.2 IRichSpout 38
3.8 Bolt接口 38
3.8.1 IBolt 38
3.8.2 IRichBolt 40
3.8.3 IBasicBolt 40
3.8.4 IBatchBolt 42
3.8.5 小结 45
3.9 Storm数据结构 46
3.9.1 GlobalStreamId 46
3.9.2 消息分组方式 46
3.9.3 StreamInfo 47
3.9.4 ShellComponent 47
3.9.5 ComponentObject 47
3.9.6 ComponentCommon 47
3.9.7 SpoutSpec 48
3.9.8 Bolt 48
3.9.9 StormTopology 49
3.9.10 TopologySummary 49
3.9.11 SupervisorSummary 49
3.9.12 ClusterSummary 50
3.9.13 BoltStats 50
3.9.14 SpoutStats 50
3.9.15 统计信息 50
3.9.16 DRPC 51
3.10 基本Topology构建器 52
3.10.1 TopologyBuilder 52
3.10.2 ConfigGetter 55
3.10.3 SpoutGetter和BoltGetter 55
3.10.4 一个简单例子 56
3.11 异常处理 57
第4章 基础函数和工具类 58
4.1 计时器 58
4.1.1 mk-timer 58
4.1.2 check-active! 60
4.1.3 schedule 60
4.1.4 schedule-recurring 60
4.1.5 cancel-timer 61
4.2 async-loop 61
4.3 event-manager 62
4.4 even-sampler 63
4.5 ZooKeeper工具类 64
4.5.1 mk-client 64
4.5.2 create-node 65
4.5.3 get-data 65
4.5.4 进程内启动ZooKeeper 66
4.6 LocalState 66
4.7 ClusterState 68
4.8 StormClusterState 69
第5章 通信机制 71
5.1 进程间通信 71
5.1.1 进程间通信协议 71
5.1.2 LocalCluster模式实现 72
5.1.3 分布式模式实现 73
5.1.4 协议使用 75
5.2 进程内通信 77
5.2.1 Disruptor Queue的使用 77
5.2.2 DisruptorQueue的Clojure处理器 80
第6章 Nimbus 81
6.1 Nimbus服务接口定义 81
6.2 Nimbus相关的数据结构 83
6.2.1 Java 数据结构 83
6.2.2 Clojure数据结构 84
6.3 Nimbus中的线程介绍 86
6.3.1 mk-assignments 87
6.3.2 do-cleanup 89
6.3.3 clean-inbox 90
6.4 Topology状态转移 90
6.4.1 transition-name! 90
6.4.2 transition! 91
6.4.3 state-transitions 92
6.5 启动Nimbus服务 96
6.5.1 launch-server! 96
6.5.2 service-handler 97
6.6 关闭Nimbus服务 99
6.7 主要服务方法 99
6.7.1 submitTopology 99
6.7.2 kill、rebalance、activate、deactivate 方法 101
6.7.3 文件上传与下载 102
6.7.4 获取UI所需的信息 104
6.7.3 获取Topology 106
6.7.6 获取Storm配置项 107
6.8 主要辅助方法 107
6.8.1 system-topology! 107
6.8.2 normalize-topology 112
6.8.3 compute-new-topology->executor->node+port 1
6.8.4 compute-executors 117
第7章 Scheduler 119
7.1 IScheduler接口 119
7.2 EvenScheduler 120
7.2.1 schedule-topolpgies-evenly 120
7.2.2 schedule-topology 121
7.2.3 get-alive-assigned-node+
port->executors 122
7.2.4 sort-slots 123
7.3 DefaultScheduler 124
7.3.1 default-schedule 124
7.3.2 slots-can-reassign 126
7.3.3 bad-slots 126
7.4 IsolationScheduler 127
7.5 调度示例 131
7.5.1 EvenScheduler和DefaultScheduler 131
7.5.2 IsolationScheduler 134
第8章 Scheduler 137
8.1 与Supervisor相关的数据结构 137
8.1.1 standalone-supervisor 137
8.1.2 Supervisor的数据 138
8.1.3 本地存储数据 139
8.2 Supervisor中的线程 140
8.2.1 计时器线程 140
8.2.2 同步Nimbus任务的线程 140
8.2.3 管理Worker进程的线程 143
8.3 启动Supervisor 145
8.4 关闭Supervisor 147
8.5 重要方法介绍 147
8.5.1 launch-worker 147
8.5.2 read-allocated-workers 150
8.5.3 wait-for-worker-launch 151
8.5.4 shutdown-worker 152
8.5.5 download-storm-code 152
第9章 Worker 155
9.1 Worker中的数据 155
9.2 Worker中的计时器 157
9.2.1 Worker的心跳 157
9.2.2 Executor的心跳 158
9.2.3 Worker中对ZMQ连接的维护 159
9.2.4 从ZooKeeper获取Topology的活跃情况 161
9.2.5 小结 162
9.3 创建Worker 163
9.4 关闭Worker 164
9.5 重要辅助方法介绍 165
9.5.1 Worker中的接收函数 166
9.5.2 Worker中的发送函数 167
9.5.3 获取属于Worker的Executor 169
9.5.4 创建Executor的接收消息队列和查找表 169
9.5.5 下载Topology的配置项以及代码 170
9.6 小结 171
第10章 Executor 172
10.1 Executor的数据 172
10.2 Executor的输入和输出 174
10.2.1 Executor的输入及处理 174
10.2.2 Executor的输出及发送 175
10.3 Spout类型的Executor 176
10.3.1 准备消息循环的数据 176
10.3.2 Spout输入处理函数 178
10.3.3 Spout消息发送函数 180
10.3.4 Spout对象的初始化 181
10.3.5 消息循环 182
10.4 Bolt类型的Executor 184
10.4.1 准备消息循环的数据 184
10.4.2 Bolt输入处理函数 184
10.4.3 Bolt的消息发送函数 185
10.4.4 Bolt对象的初始化 185
10.4.5 消息循环 186
10.5 创建Executor 187
10.6 辅助函数介绍 188
10.6.1 组件的Grouper函数 188
10.6.2 带流量控制的错误报告方法 193
10.6.3 触发系统Ticks 194
10.7 小结 196
第11章 Task 198
11.1 Task的上下文对象 198
11.1.1 TopologyContext 198
11.1.2 GeneralTopologyContext 199
11.1.3 WorkerTopologyContext 200
11.1.4 TopologyContext 201
11.2 创建Task数据 202
11.3 mk-tasks-fn函数 204
11.4 send-unanchored 205
11.5 创建Task 206
11.6 Storm中传输的消息以及序列化 206
第12章 Storm的Ack框架 208
12.1 Acker Bolt的实现分析 209
12.2 启动消息跟踪 211
12.3 消息跟踪 212
12.4 Ack机制的例子 214
第13章 系统运行统计 216
13.1 基础数据结构以及更新算法 216
13.1.1 滑动窗口的数据结构 216
13.1.2 滑动窗口的回调函数 220
13.1.3 滑动窗口集合的类型 221
13.2 Storm中的统计信息 222
13.2.1 Stats中定义的统计类别 222
13.2.2 运行统计的更新 223
13.2.3 运行统计的更新时间点 223
13.2.4 获取统计数据 228
13.3 运行统计的Thrift结构 229
第14章 系统运行统计的另一种实现 231
14.1 内置统计信息的计算 231
14.1.1 MultiCountMetric 232
14.1.2 MultiReducedMetric 233
14.2 内置统计类型 234
14.2.1 Spout类型的内置统计 235
14.2.2 Bolt类型的内置统计 235
14.3 统计触发消息 235
14.3.1 注册统计信息 236
14.3.2 触发消息的产生与发送 237
14.3.3 处理统计触发消息 238
14.4 运行统计收集节点 239
14.5 SystemBolt 241
第15章 事务Topology的实现 243
15.1 事务Topology的实现概述 243
15.1.1 事务Topology的类型 244
15.1.2 事务Topology的类关系 245
15.2 ITransactionalSpout接口 246
15.3 协调Spout节点的执行器 248
15.3.1 ZooKeeper客户端工具 248
15.3.2 协调Spout的执行器 255
15.3.3 消息发送Bolt的执行器 261
15.4 CoordinatedBolt的实现分析 264
15.4.1 TrackingInfo 264
15.4.2 CoordinatedOutput-
Collector 265
15.4.3 CoordinatedBolt中的消息类型 267
15.4.4 成员变量以及主要方法分析 267
15.5 分区的事务类型 271
15.5.1 分区的事务Spout接口 271
15.5.2 分区的事务Spout的执行器 273
15.6 分区的模糊事务Spout 277
15.6.1 分区的模糊事务Spout的接口 277
15.6.2 模糊的事务Spout执行器 278
15.7 事务Topology的构建器 281
15.7.1 构建器的构造函数及成员变量 281
15.7.2 设置Bolt对象 283
15.7.3 构建Topology 284
15.7.4 输入流声明器 286
第16章 事务Topology示例 288
16.1 例子代码 288
16.1.1 分区的事务Spout 288
16.1.2 局部计数Bolt的实现 291
16.1.3 全局计数Bolt的实现 292
16.2 构建Topology 293
16.3 事务处理示例 295
第17章 Trident的Spout节点 298
17.1 ITridentSpout接口 298
17.1.1 BatchCoordinator接口 299
17.1.2 TridentSpoutCoordinator 300
17.1.3 MasterBatchCoordinator 301
17.1.4 消息发送节点接口 306
17.1.5 消息发送接口的执行器 306
17.2 适配IRichSpout接口 307
17.3 适配IBatchSpout接口 311
17.4 Trident中分区的Spout类型 311
17.4.1 分区Spout接口 311
17.4.2 分区Spout的执行器 313
17.5 模糊事务类型的Spout节点 316
17.5.1 模糊事务类型的Spout接口 317
17.5.2 模糊事务类型Spout的执行器 317
17.6 构建Spout节点 320
17.6.1 TridentTopology的newStream调用 320
17.6.2 TridentTopology中newDRPCStream调用 321
第18章 Trident的存储 322
18.1 存储的基本接口 322
18.2 MapState接口的实现 323
18.2.1 非事务类型的存储 324
18.2.2 事务类型的存储 325
18.2.3 模糊事务类型存储 327
18.3 值的序列化方法 329
18.4 数据更新接口 330
18.4.1 CombinerValueUpdater 330
18.4.2 ReducerValueUpdater 331
18.5 存储更新接口 331
18.5.1 ReducerAggStateUpdater 332
18.5.2 MapReducerAggStateUpdater 332
18.5.3 BaseStateUpdater 334
18.6 创建存储对象 334
第19章 Trident消息 336
19.1 ValuePointer 336
19.2 Factory接口及其实现 337
19.2.1 ProjectionFactory 338
19.2.2 FreshOutputFactory 339
19.2.3 OperationOutputFactory 339
19.2.4 RootFactory 341
19.3 消息工厂的例子 342
19.4 TridentTupleView 342
19.5 ComboList 343
第20章 Trident操作与处理节点 346
20.1 操作的基本接口 346
20.2 Aggregator实现 347
20.2.1 GroupedAggregator 348
20.2.2 ChainedAggregatorImpl 350
20.2.3 SingleEmitAggregator 353
20.3 用户接口及其实现 355
20.3.1 ReducerAggregator接口及其实现 355
20.3.2 CombinerAggregator接口及其实现 356
20.4 所有处理节点的上下文 357
20.4.1 单个处理节点的上下文 358
20.4.2 操作执行的上下文 359
20.5 Trident的输出收集器 359
20.5.1 FreshCollector 359
20.5.2 CaptureCollector 360
20.5.3 GroupCollector 360
20.5.4 AppendCollector 361
20.5.5 AddIdCollector 361
20.6 Trident的处理节点 362
20.6.1 TridentProcessor接口 363
20.6.2 PartitionPersistProcessor 363
20.6.3 StateQueryProcessor 365
20.7 聚集器的执行 367
第21章 Trident流的基本操作 370
21.1 流的成员变量和基础方法 370
21.1.1 流的成员变量 370
21.1.2 流节点名字 370
21.1.3 流的映射检查 372
21.1.4 添加节点 372
21.2 流映射操作 373
21.3 流的分组操作 374
21.4 流的逐行操作 374
21.5 流的分区操作 374
21.6 流的单聚集器聚集操作 376
21.7 流的多聚集器聚集操作 377
21.7.1 ChainedAggregatorDeclarer 377
21.7.2 分区上的局部聚集操作 379
21.7.3 全局聚集操作 379
21.7.4 含有多个聚集器的partitionAggregate操作 381
21.8 流的聚集操作 382
21.9 流的分区写入操作 383
21.10 查询操作 384
21.11 流的全局写入操作 384
21.12 流的操作与有向图构建 384
21.13 分组流 385
21.13.1 成员变量 385
21.13.2 逐行操作 385
21.13.3 分组流的分区聚集操作 386
21.13.4 查询操作 386
21.13.5 聚集操作 386
21.13.6 写入操作 387
21.14 利用流操作来构建Topology的例子 388
第22章 Trident中流的交互操作 392
22.1 基本接口 392
22.2 JoinerMultiReducer 393
22.2.1 成员变量及构造函数 393
22.2.2 execute方法 395
22.2.3 complete方法 397
22.3 GroupedMultiReducerExecutor 397
22.4 MultiReducerProcessor 399
22.5 连接操作 401
22.6 流合并操作 403
第23章 Trident中的Bolt节点 404
23.1 SubTopologyBolt 404
23.1.1 输入准备 404
23.1.2 成员变量 405
23.1.3 主要方法 406
23.2 Trident中的Bolt执行器 409
23.2.1 ITridentBatchBolt接口 410
23.2.2 TrackedBatch 410
23.2.3 定制的输出收集器 412
23.2.4 消息类型 414
23.2.5 数据成员分析 414
23.2.6 主要成员方法分析 416
第24章 Trident的执行优化 420
24.1 节点类型 420
24.1.1 基本节点类型 420
24.1.2 Spout节点 422
24.1.3 处理节点 422
24.1.4 分区节点 423
24.2 执行优化算法 426
24.2.1 节点组 426
24.2.2 节点组的合并算法 427
24.2.3 处理节点组中的分区节点 431
24.2.4 节点组以不同的方式收听相同流 431
24.2.5 执行优化后的节点组 434
24.2.6 计算节点组的并行度 434
第25章 Trident与DRPC 437
25.1 DRPC服务器 438
25.1.1 DRPC服务器的成员变量 438
52.1.2 DRPC用户接口及其实现 439
25.1.3 DRPC Topology端接口及其实现 440
25.1.4 启动DRPC服务器 441
25.2 DRPC的客户端 442
25.3 DRPC中Spout节点 443
25.4 DRPC Spout的执行器 446
25.5 completeDRPC操作 449
25.6 返回DRPC结果 451
第26章 Trident的Topology构建器 453
26.1 基本工具函数 453
26.1.1 committerBatches 453
26.1.2 fleshOutStreamBatchIds 453
26.1.3 getOutputStreamBatchGroups 454
26.2 TridentTopologyBuilder 455
26.2.1 成员变量 455
26.2.2 设置Spout节点 456
26.2.3 设置Bolt节点 458
26.3 一个例子 460
第27章 多语言 462
27.1 ShellProcess 462
27.2 ShellBolt 464
27.2.1 成员变量 464
27.2.2 读写线程 465
27.3 ShellSpout 467
第28章 Storm中的配置项 469
×
添加一个书摘本
搜索创建书摘本
搜索
正在搜索...
不对,换一下
书名
作者
出版社
备注
ISBN
*
*
第1章 总体架构与代码结构 1
1.1 Storm的总体结构 1
1.2 Storm的元数据 3
1.2.1 元数据介绍 3
1.2.2 Storm怎么使用这些元数据 4
1.3 Storm的代码结构 7
1.3.1 Clojure代码 7
1.3.2 Java代码 8
1.3.3 Trident代码 9
1.3.4 其他代码 10
第2章 搭建Storm集群 11
2.1 搭建单机Storm集群 11
2.2 搭建多机Storm集群 14
2.2.1 设置环境 14
2.2.2 启动Storm集群 15
2.2.3 提交Topology 15
2.3 WordCountTopology介绍 15
2.3.1 RandomSentenceSpout 15
2.3.2 SplitSentence 16
2.3.3 WordCount 17
2.3.4 WordCountTopology构建 17
第3章 Storm编程基础 19
3.1 Fields定义 19
3.2 Tuple接口 20
3.3 常用声明接口 21
3.3.1 配置声明接口 22
3.3.2 输入声明接口 23
3.3.3 输出字段声明接口 24
3.3.4 组件声明接口 25
3.4 Spout输出收集器 25
3.4.1 ISpoutOutputCollector和SpoutOutputCollector
3.4.2 Executor中ISpoutOutputCollector的实现 27
3.5 Bolt输出收集器 28
3.5.1 IOutputCollector和OutputCollector 28
3.5.2 IBasicOutputCollector和BasicOutputCollector
3.5.3 BatchOutputCollector和BatchOutputCollectorImp
3.5.4 Executor中的IOutputCollector实现 34
3.6 组件接口 35
3.7 Spout接口 35
3.7.1 ISpout 36
3.7.2 IRichSpout 38
3.8 Bolt接口 38
3.8.1 IBolt 38
3.8.2 IRichBolt 40
3.8.3 IBasicBolt 40
3.8.4 IBatchBolt 42
3.8.5 小结 45
3.9 Storm数据结构 46
3.9.1 GlobalStreamId 46
3.9.2 消息分组方式 46
3.9.3 StreamInfo 47
3.9.4 ShellComponent 47
3.9.5 ComponentObject 47
3.9.6 ComponentCommon 47
3.9.7 SpoutSpec 48
3.9.8 Bolt 48
3.9.9 StormTopology 49
3.9.10 TopologySummary 49
3.9.11 SupervisorSummary 49
3.9.12 ClusterSummary 50
3.9.13 BoltStats 50
3.9.14 SpoutStats 50
3.9.15 统计信息 50
3.9.16 DRPC 51
3.10 基本Topology构建器 52
3.10.1 TopologyBuilder 52
3.10.2 ConfigGetter 55
3.10.3 SpoutGetter和BoltGetter 55
3.10.4 一个简单例子 56
3.11 异常处理 57
第4章 基础函数和工具类 58
4.1 计时器 58
4.1.1 mk-timer 58
4.1.2 check-active! 60
4.1.3 schedule 60
4.1.4 schedule-recurring 60
4.1.5 cancel-timer 61
4.2 async-loop 61
4.3 event-manager 62
4.4 even-sampler 63
4.5 ZooKeeper工具类 64
4.5.1 mk-client 64
4.5.2 create-node 65
4.5.3 get-data 65
4.5.4 进程内启动ZooKeeper 66
4.6 LocalState 66
4.7 ClusterState 68
4.8 StormClusterState 69
第5章 通信机制 71
5.1 进程间通信 71
5.1.1 进程间通信协议 71
5.1.2 LocalCluster模式实现 72
5.1.3 分布式模式实现 73
5.1.4 协议使用 75
5.2 进程内通信 77
5.2.1 Disruptor Queue的使用 77
5.2.2 DisruptorQueue的Clojure处理器 80
第6章 Nimbus 81
6.1 Nimbus服务接口定义 81
6.2 Nimbus相关的数据结构 83
6.2.1 Java 数据结构 83
6.2.2 Clojure数据结构 84
6.3 Nimbus中的线程介绍 86
6.3.1 mk-assignments 87
6.3.2 do-cleanup 89
6.3.3 clean-inbox 90
6.4 Topology状态转移 90
6.4.1 transition-name! 90
6.4.2 transition! 91
6.4.3 state-transitions 92
6.5 启动Nimbus服务 96
6.5.1 launch-server! 96
6.5.2 service-handler 97
6.6 关闭Nimbus服务 99
6.7 主要服务方法 99
6.7.1 submitTopology 99
6.7.2 kill、rebalance、activate、deactivate 方法 101
6.7.3 文件上传与下载 102
6.7.4 获取UI所需的信息 104
6.7.3 获取Topology 106
6.7.6 获取Storm配置项 107
6.8 主要辅助方法 107
6.8.1 system-topology! 107
6.8.2 normalize-topology 112
6.8.3 compute-new-topology->executor->node+port 1
6.8.4 compute-executors 117
第7章 Scheduler 119
7.1 IScheduler接口 119
7.2 EvenScheduler 120
7.2.1 schedule-topolpgies-evenly 120
7.2.2 schedule-topology 121
7.2.3 get-alive-assigned-node+
port->executors 122
7.2.4 sort-slots 123
7.3 DefaultScheduler 124
7.3.1 default-schedule 124
7.3.2 slots-can-reassign 126
7.3.3 bad-slots 126
7.4 IsolationScheduler 127
7.5 调度示例 131
7.5.1 EvenScheduler和DefaultScheduler 131
7.5.2 IsolationScheduler 134
第8章 Scheduler 137
8.1 与Supervisor相关的数据结构 137
8.1.1 standalone-supervisor 137
8.1.2 Supervisor的数据 138
8.1.3 本地存储数据 139
8.2 Supervisor中的线程 140
8.2.1 计时器线程 140
8.2.2 同步Nimbus任务的线程 140
8.2.3 管理Worker进程的线程 143
8.3 启动Supervisor 145
8.4 关闭Supervisor 147
8.5 重要方法介绍 147
8.5.1 launch-worker 147
8.5.2 read-allocated-workers 150
8.5.3 wait-for-worker-launch 151
8.5.4 shutdown-worker 152
8.5.5 download-storm-code 152
第9章 Worker 155
9.1 Worker中的数据 155
9.2 Worker中的计时器 157
9.2.1 Worker的心跳 157
9.2.2 Executor的心跳 158
9.2.3 Worker中对ZMQ连接的维护 159
9.2.4 从ZooKeeper获取Topology的活跃情况 161
9.2.5 小结 162
9.3 创建Worker 163
9.4 关闭Worker 164
9.5 重要辅助方法介绍 165
9.5.1 Worker中的接收函数 166
9.5.2 Worker中的发送函数 167
9.5.3 获取属于Worker的Executor 169
9.5.4 创建Executor的接收消息队列和查找表 169
9.5.5 下载Topology的配置项以及代码 170
9.6 小结 171
第10章 Executor 172
10.1 Executor的数据 172
10.2 Executor的输入和输出 174
10.2.1 Executor的输入及处理 174
10.2.2 Executor的输出及发送 175
10.3 Spout类型的Executor 176
10.3.1 准备消息循环的数据 176
10.3.2 Spout输入处理函数 178
10.3.3 Spout消息发送函数 180
10.3.4 Spout对象的初始化 181
10.3.5 消息循环 182
10.4 Bolt类型的Executor 184
10.4.1 准备消息循环的数据 184
10.4.2 Bolt输入处理函数 184
10.4.3 Bolt的消息发送函数 185
10.4.4 Bolt对象的初始化 185
10.4.5 消息循环 186
10.5 创建Executor 187
10.6 辅助函数介绍 188
10.6.1 组件的Grouper函数 188
10.6.2 带流量控制的错误报告方法 193
10.6.3 触发系统Ticks 194
10.7 小结 196
第11章 Task 198
11.1 Task的上下文对象 198
11.1.1 TopologyContext 198
11.1.2 GeneralTopologyContext 199
11.1.3 WorkerTopologyContext 200
11.1.4 TopologyContext 201
11.2 创建Task数据 202
11.3 mk-tasks-fn函数 204
11.4 send-unanchored 205
11.5 创建Task 206
11.6 Storm中传输的消息以及序列化 206
第12章 Storm的Ack框架 208
12.1 Acker Bolt的实现分析 209
12.2 启动消息跟踪 211
12.3 消息跟踪 212
12.4 Ack机制的例子 214
第13章 系统运行统计 216
13.1 基础数据结构以及更新算法 216
13.1.1 滑动窗口的数据结构 216
13.1.2 滑动窗口的回调函数 220
13.1.3 滑动窗口集合的类型 221
13.2 Storm中的统计信息 222
13.2.1 Stats中定义的统计类别 222
13.2.2 运行统计的更新 223
13.2.3 运行统计的更新时间点 223
13.2.4 获取统计数据 228
13.3 运行统计的Thrift结构 229
第14章 系统运行统计的另一种实现 231
14.1 内置统计信息的计算 231
14.1.1 MultiCountMetric 232
14.1.2 MultiReducedMetric 233
14.2 内置统计类型 234
14.2.1 Spout类型的内置统计 235
14.2.2 Bolt类型的内置统计 235
14.3 统计触发消息 235
14.3.1 注册统计信息 236
14.3.2 触发消息的产生与发送 237
14.3.3 处理统计触发消息 238
14.4 运行统计收集节点 239
14.5 SystemBolt 241
第15章 事务Topology的实现 243
15.1 事务Topology的实现概述 243
15.1.1 事务Topology的类型 244
15.1.2 事务Topology的类关系 245
15.2 ITransactionalSpout接口 246
15.3 协调Spout节点的执行器 248
15.3.1 ZooKeeper客户端工具 248
15.3.2 协调Spout的执行器 255
15.3.3 消息发送Bolt的执行器 261
15.4 CoordinatedBolt的实现分析 264
15.4.1 TrackingInfo 264
15.4.2 CoordinatedOutput-
Collector 265
15.4.3 CoordinatedBolt中的消息类型 267
15.4.4 成员变量以及主要方法分析 267
15.5 分区的事务类型 271
15.5.1 分区的事务Spout接口 271
15.5.2 分区的事务Spout的执行器 273
15.6 分区的模糊事务Spout 277
15.6.1 分区的模糊事务Spout的接口 277
15.6.2 模糊的事务Spout执行器 278
15.7 事务Topology的构建器 281
15.7.1 构建器的构造函数及成员变量 281
15.7.2 设置Bolt对象 283
15.7.3 构建Topology 284
15.7.4 输入流声明器 286
第16章 事务Topology示例 288
16.1 例子代码 288
16.1.1 分区的事务Spout 288
16.1.2 局部计数Bolt的实现 291
16.1.3 全局计数Bolt的实现 292
16.2 构建Topology 293
16.3 事务处理示例 295
第17章 Trident的Spout节点 298
17.1 ITridentSpout接口 298
17.1.1 BatchCoordinator接口 299
17.1.2 TridentSpoutCoordinator 300
17.1.3 MasterBatchCoordinator 301
17.1.4 消息发送节点接口 306
17.1.5 消息发送接口的执行器 306
17.2 适配IRichSpout接口 307
17.3 适配IBatchSpout接口 311
17.4 Trident中分区的Spout类型 311
17.4.1 分区Spout接口 311
17.4.2 分区Spout的执行器 313
17.5 模糊事务类型的Spout节点 316
17.5.1 模糊事务类型的Spout接口 317
17.5.2 模糊事务类型Spout的执行器 317
17.6 构建Spout节点 320
17.6.1 TridentTopology的newStream调用 320
17.6.2 TridentTopology中newDRPCStream调用 321
第18章 Trident的存储 322
18.1 存储的基本接口 322
18.2 MapState接口的实现 323
18.2.1 非事务类型的存储 324
18.2.2 事务类型的存储 325
18.2.3 模糊事务类型存储 327
18.3 值的序列化方法 329
18.4 数据更新接口 330
18.4.1 CombinerValueUpdater 330
18.4.2 ReducerValueUpdater 331
18.5 存储更新接口 331
18.5.1 ReducerAggStateUpdater 332
18.5.2 MapReducerAggStateUpdater 332
18.5.3 BaseStateUpdater 334
18.6 创建存储对象 334
第19章 Trident消息 336
19.1 ValuePointer 336
19.2 Factory接口及其实现 337
19.2.1 ProjectionFactory 338
19.2.2 FreshOutputFactory 339
19.2.3 OperationOutputFactory 339
19.2.4 RootFactory 341
19.3 消息工厂的例子 342
19.4 TridentTupleView 342
19.5 ComboList 343
第20章 Trident操作与处理节点 346
20.1 操作的基本接口 346
20.2 Aggregator实现 347
20.2.1 GroupedAggregator 348
20.2.2 ChainedAggregatorImpl 350
20.2.3 SingleEmitAggregator 353
20.3 用户接口及其实现 355
20.3.1 ReducerAggregator接口及其实现 355
20.3.2 CombinerAggregator接口及其实现 356
20.4 所有处理节点的上下文 357
20.4.1 单个处理节点的上下文 358
20.4.2 操作执行的上下文 359
20.5 Trident的输出收集器 359
20.5.1 FreshCollector 359
20.5.2 CaptureCollector 360
20.5.3 GroupCollector 360
20.5.4 AppendCollector 361
20.5.5 AddIdCollector 361
20.6 Trident的处理节点 362
20.6.1 TridentProcessor接口 363
20.6.2 PartitionPersistProcessor 363
20.6.3 StateQueryProcessor 365
20.7 聚集器的执行 367
第21章 Trident流的基本操作 370
21.1 流的成员变量和基础方法 370
21.1.1 流的成员变量 370
21.1.2 流节点名字 370
21.1.3 流的映射检查 372
21.1.4 添加节点 372
21.2 流映射操作 373
21.3 流的分组操作 374
21.4 流的逐行操作 374
21.5 流的分区操作 374
21.6 流的单聚集器聚集操作 376
21.7 流的多聚集器聚集操作 377
21.7.1 ChainedAggregatorDeclarer 377
21.7.2 分区上的局部聚集操作 379
21.7.3 全局聚集操作 379
21.7.4 含有多个聚集器的partitionAggregate操作 381
21.8 流的聚集操作 382
21.9 流的分区写入操作 383
21.10 查询操作 384
21.11 流的全局写入操作 384
21.12 流的操作与有向图构建 384
21.13 分组流 385
21.13.1 成员变量 385
21.13.2 逐行操作 385
21.13.3 分组流的分区聚集操作 386
21.13.4 查询操作 386
21.13.5 聚集操作 386
21.13.6 写入操作 387
21.14 利用流操作来构建Topology的例子 388
第22章 Trident中流的交互操作 392
22.1 基本接口 392
22.2 JoinerMultiReducer 393
22.2.1 成员变量及构造函数 393
22.2.2 execute方法 395
22.2.3 complete方法 397
22.3 GroupedMultiReducerExecutor 397
22.4 MultiReducerProcessor 399
22.5 连接操作 401
22.6 流合并操作 403
第23章 Trident中的Bolt节点 404
23.1 SubTopologyBolt 404
23.1.1 输入准备 404
23.1.2 成员变量 405
23.1.3 主要方法 406
23.2 Trident中的Bolt执行器 409
23.2.1 ITridentBatchBolt接口 410
23.2.2 TrackedBatch 410
23.2.3 定制的输出收集器 412
23.2.4 消息类型 414
23.2.5 数据成员分析 414
23.2.6 主要成员方法分析 416
第24章 Trident的执行优化 420
24.1 节点类型 420
24.1.1 基本节点类型 420
24.1.2 Spout节点 422
24.1.3 处理节点 422
24.1.4 分区节点 423
24.2 执行优化算法 426
24.2.1 节点组 426
24.2.2 节点组的合并算法 427
24.2.3 处理节点组中的分区节点 431
24.2.4 节点组以不同的方式收听相同流 431
24.2.5 执行优化后的节点组 434
24.2.6 计算节点组的并行度 434
第25章 Trident与DRPC 437
25.1 DRPC服务器 438
25.1.1 DRPC服务器的成员变量 438
52.1.2 DRPC用户接口及其实现 439
25.1.3 DRPC Topology端接口及其实现 440
25.1.4 启动DRPC服务器 441
25.2 DRPC的客户端 442
25.3 DRPC中Spout节点 443
25.4 DRPC Spout的执行器 446
25.5 completeDRPC操作 449
25.6 返回DRPC结果 451
第26章 Trident的Topology构建器 453
26.1 基本工具函数 453
26.1.1 committerBatches 453
26.1.2 fleshOutStreamBatchIds 453
26.1.3 getOutputStreamBatchGroups 454
26.2 TridentTopologyBuilder 455
26.2.1 成员变量 455
26.2.2 设置Spout节点 456
26.2.3 设置Bolt节点 458
26.3 一个例子 460
第27章 多语言 462
27.1 ShellProcess 462
27.2 ShellBolt 464
27.2.1 成员变量 464
27.2.2 读写线程 465
27.3 ShellSpout 467
第28章 Storm中的配置项 469