0%

Apache Storm专题

大数据流式计算及应用实践

面向感知的数据流处理模型
R树、B+树

CAP(Consistency,Availability,tolerance to network Partitions) 理论说明,分布式系统中的一致性、可用性、分区容错性三者不可兼得。

所以,并行关系数据库必然无法获得较强的扩展性和良好的系统可用性。
面对这些挑战,以Google的BigTable为代表的NoSQL(notonlySQL)数据库发展起来。BigTable是一个多维稀疏排序表,由行和列组成,每个存储单元都有一个时间戳,形成三维结构。同一个数据单元的多个操作形成数据的多个版本,由时间戳来区分。

高性能批数据处理模式、流式数据处理模式和两者混合的模式。

批处理模式就是修改以Hadoop为代表的批处理框架,减少中间结果的写盘次数,增加作业间的流水化程度来提高单位时间的吞吐量。流处理模式,是针对流式数据的一种天然适合的处理方法,将到达的数据在维护的滑动窗口内进行处理,这将在下一章详细说明,典型系统如YahooS4和Storm。而两者混合的模式,主要思路是基于MapReduce模型增加或改变其中的某些处理步骤,以实现流处理。

四个时间点?
契税 多少?
查封 离婚 继承

距离 环境 学校

高性能批数据处理模式、流式数据处理模式和两者混合的模式。其中,批处理模式就是修改以Hadoop为代表的批处理框架,减少中间结果的写盘次数,增加作业间的流水化程度来提高单位时间的吞吐量。流处理模式,是针对流式数据的一种天然适合的处理方法,将到达的数据在维护的滑动窗口内进行处理,这将在下一章详细说明,典型系统如Yahoo S4和Storm。而两者混合的模式,主要思路是基于MapReduce模型增加或改变其中的某些处理步骤,以实现流处理。例如,DEDUCE系统扩展了IBM的流式数据处理System S,使其支持MapReduce。此外,SparkStreaming通过引入离散流(discretized streams)编程模型,改进了批处理模式,大幅提高了处理速度,并在Spark系统上实现了集成。

Storm 作为 一种 分布式 系统 的 体系 结构、 分布式 通信、 作业、 接 入/ 处理 组件 和 若干 进阶 的 概念。

丁维龙; 等. Storm:大数据流式计算及应用实践 (高端云计算与大数据丛书) (Kindle 位置 1278-1279). 电子工业出版社. Kindle 版本.

supervisor

工作进程执行指定topology的子集,而同一个topology可以由多个工作进程完成;一个工作进程由多个工作线程组成,工作线程是spout/bolt的运行时实例,数量由spout/bolt的数目及其配置确定。supervisor是分布式部署的,在Storm中的地位类似于Hadoop中的TaskTracker。

首先是作业在Storm系统中的部署。
① 用户将作业打包(即将topology的代码组织为jar文件),通过Storm的客户端命令或者控制台节点的Web接口,提交至Storm系统的主控节点;
② 主控节点根据系统的全局配置和作业中的局部配置,将接收的代码分发至调度的工作节点;
③ 工作节点下载来自主控节点的代码包,并根据主控节点的调度生成相关的工作进程和线程。

其次是系统节点状态的协调,包括如下几个部分。
①主控节点与协调节点之间:主控节点将系统全局的配置、节点局部的配置、主控节点运行时的状态,通过服务接口交由Zookeeper维护,由协调节点实现配置管理与状态监控;
②工作节点与协调节点之间:工作节点将自身的状态、工作进程和工作线程的状态,通过服务接口交由Zookeeper维护,由协调节点实现状态获取与更新;
③主控节点与控制台节点之间:控制台节点调用主控节点开放相关的接口,可以获取系统、作业、工作进程、工作线程和任务的运行时状态。

最后是工作节点间作业计算结果的数据传输,包括如下几个部分。
①组件间线程级的数据传递:在同一进程内,spout/bolt的工作线程将处理结果向作业的下游组件传递;
②组件间进程级的数据传递:在不同进程间(无论是否在同一台机器中),spout/bolt的工作线程将处理的结果向作业的下游组件传递。进程是操作系统中程序运行时的基本单元,线程是进程的最小调度单位,Storm的分布式数据处理,也是通过进程线程的调度实现的。
注意:考虑到作业的独立性与安全性,Storm不支持跨作业的数据传递,故这里工作节点间的数据传输,一定存在于同一作业(隶属同一topology)的运行时实例进程/线程之间。