“大数据系统”版本间的差异
来自iCenter Wiki
第55行: | 第55行: | ||
# Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, OSDI 2004. | # Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, OSDI 2004. | ||
− | + | = Hadoop = | |
#Hadoop分布式文件系统HDFS(Hadoop Distributed File System),是谷歌文件系统GFS的一个开源实现。 | #Hadoop分布式文件系统HDFS(Hadoop Distributed File System),是谷歌文件系统GFS的一个开源实现。 | ||
第67行: | 第67行: | ||
* [http://hadoop.apache.org Hadoop] | * [http://hadoop.apache.org Hadoop] | ||
− | + | = Spark = | |
* [http://spark.apache.org Spark] | * [http://spark.apache.org Spark] | ||
第73行: | 第73行: | ||
# Zaharia, Matei, et al. "Spark: cluster computing with working sets.“ Proceedings of the 2nd USENIX conference on Hot topics in cloud computing. Vol. 10. 2010. | # Zaharia, Matei, et al. "Spark: cluster computing with working sets.“ Proceedings of the 2nd USENIX conference on Hot topics in cloud computing. Vol. 10. 2010. | ||
− | + | = Druid = | |
大数据解析 | 大数据解析 | ||
2017年4月12日 (三) 04:48的版本
目录
分布式系统
大数据系统是实现大数据存储、管理、处理和服务的分布式信息系统。
- M Steen, AS Tanenbaum, Distributed systems: principles and paradigms, Prentice Hall, 2007.
系统的设计原则
基本原则:信息系统组织计算、存储、通信的模式和系统的功用的相适应,类似“经济基础与上层建筑”
问题:集中式与分布式?
系统的设计思路
大数据系统设计的基本思路:
- 单台机器能力有限,需要多机系统;(并行性)
- 数据要分布在不同机器上,之间需要网络通信;(扩展性)
- 单台机器容易出现故障,系统要能容错;(可靠性)
- 用户程序在多台机器上运行,编程要简单。(易用性)
大数据的存储/管理/处理
- Hadoop项目集成了大数据存储与处理技术
- Spark项目是目前最热门的大数据平台
分布式存储与并行处理系统
分布式文件系统
运行在由很多机器组成的集群上的文件系统;
所有文件都做了冗余备份,存放在不同的机器上;
机器的随机宕机,不会导致文件系统的可用性问题;
- 典型例子:谷歌文件系统GFS
每台机器分配不同角色,称为Master和Slave
Master负责存储文件的元数据和在slave中的具体位置
Slave负责存储文件的具体内容,以块为单位,每块64MB
研究论文:
- Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. "The Google file system." SOSP 2003.
MapReduce
Map/Reduce编程模型 (Abstraction)和实现框架。
用户只要编写 Map()和 Reduce()函数。
Map/Reduce编程框架(programming framework)能够自动将MapReduce程序分配到集群上运行,并汇总运行结果
研究论文:
- Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, OSDI 2004.
Hadoop
- Hadoop分布式文件系统HDFS(Hadoop Distributed File System),是谷歌文件系统GFS的一个开源实现。
每台机器分配不同角色,称为Namenode和Datanode
Namenode负责存储文件的元数据和在datanode中的具体位置
Datanode负责存储文件的具体内容,以块为单位
Spark
- Zaharia, Matei, et al. "Spark: cluster computing with working sets.“ Proceedings of the 2nd USENIX conference on Hot topics in cloud computing. Vol. 10. 2010.
Druid
大数据解析