Hadoop适合于离线的批量数据处理适用于对实时性要求极低的场景。
Storm适合于实时流数据处理,实时性方面做得极好。
Spark是内存分布式计算框架,试图吞并Hadoop的Map-Reduce批处理框架和Storm的流处理框架,但是Spark已经做得很不错了,批处理方面性能优于Map-Reduce,但是流处理目前还是弱于Storm。
Hadoop 是磁盘级计算,进行计算时,数据在磁盘上,需要读写磁盘;
Storm 是内存级计算,数据直接通过网络导入内存。读写内存比读写磁盘速度快n个数量级。
Kafka是一种分布式,发布/订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。(高吞吐量)
- HADOOP 大数据存储、大数据分析。也就是 Hadoop 的两大核心:HDFS 和 MapReduce。
- HDFS(Hadoop Distributed File System)是可扩展、容错、高性能的分布式文件系统,异步复制,一次写入多次读取,主要负责存储。
- MapReduce 为分布式计算框架,包含map(映射)和 reduce(归约)过程,负责在 HDFS 上进行计算。
- Storm是一个分布式的、高容错的实时计算系统。
| Hadoop | 作用 | Storm |
| 共同点 |
系统角色 | JobTracker | 集群管理,master服务 | Nimbus | 单节点,单台设备上运行,任务分配 | 只有一个,分配任务和监测故障。异常偶hadoop和storm都异常; |
TaskTracker | 多个节点上的slaver服务 | Supervisor | 集群资源管理者,按需启动worker进程 | 几个节点几个服务 | |
child |
| Worker | 任务构造者 | 处理任务最小单元 | |
应用名称 | job | 最终会结束 | Topology | 永远运行 |
|
组件接口 | Mapper/Reducer |
| Spout/Bolt |
|
|