Hadoop分布式计算框架,可以存储海量数据和计算海量数据。
目前,做大数据处理的计算框架:
1、 Hadoop 主要做离线批处理(存储海量数据+海量数据离线批处理)
2、 Spark 离线批处理+实时流处理
3、 Storm 实时流处理
4、 Flink 实时流处理 三者只做数据处理
Hadoop应用案例:分布式系统架构
1、 利用Hadoop集群(900)台节点对数据(1T/1024GB)排序,耗时209秒
1460台节点进行排序,耗时62秒。
2、特点:(快速廉价)
淘宝架构
应用层:
数据魔方、
查询层:
Glider用于屏蔽掉存储层查询的异构性
存储层:
MyFox(基于关系型数据库)
Tair(基于kv存储系统)
Prom(基于hive的存储系统)
计算层:
云梯系统(离线批处理,基于hadoop技术)
银河系统(实时流处理,自主技术)
Mysql、日志数据、爬虫数据、其他
1024/GB/TB/PB/EB/ZB/YB
Hadoop:
1.0:HDFS+MapReduce
2.0:HDFS+Yarn(资源-cpu核数和内存-调度管理)+MapReduce
3.0:底层有一些额外优化.
横向扩张----演变为分布式
Namenode职责所在:
1、管理整个datanode集群,能够获知datade的工作状态,是否存活,通过心跳机制来管理。
2、元数据:描述数据的数据(比如文件名,文件大小,文件被切成几块,文件块多大,编号位置,等等)
3、此外,为了避免datanode宕或损坏引起的文件块丢失,备份机制:文件块备份1在机架(集装箱为单位,服务器)的其他datanode机上,备份2在其他机架的datanode中