“分布式系统”版本间的差异
来自iCenter Wiki
(以“=分布式系统= 信息技术是指电子、计算机与网络的相关技术,涉及信息的存储,传输与处理的内容。 信息系统(Information sys...”为内容创建页面) |
(→信息系统的设计思路) |
||
第19行: | 第19行: | ||
大数据系统设计的基本思路: | 大数据系统设计的基本思路: | ||
− | # | + | #单台机器能力有限,需要多机系统。(并行性、扩展性) |
− | # | + | #单台机器容易出现故障,系统要能容错。(可靠性) |
− | # | + | #多机系统之间需要高速可靠的网络通信。(局部网络) |
− | # | + | #集群上的编程要简单。(易用性) |
+ | |||
+ | 防范多机系统中,单台机器故障导致系统功能不正常: | ||
+ | |||
+ | #数据要冗余备份,分布在不同机器上。 | ||
+ | #任务要能够切分成独立的单个任务小任务。 | ||
+ | #系统能监控不同计算任务的运行状况,保障每个计算任务的正确执行。 | ||
+ | #遇到单台机器故障时,系统能重新部署该机器上的计算任务。计算任务超时则重启和重新部署。 | ||
+ | |||
+ | 用户与系统交互: | ||
+ | |||
+ | #用户程序在多台机器上运行,用户编程不必要关心底层细节。 | ||
=分布式存储与并行处理系统= | =分布式存储与并行处理系统= |
2017年6月10日 (六) 10:02的版本
目录
分布式系统
信息技术是指电子、计算机与网络的相关技术,涉及信息的存储,传输与处理的内容。
信息系统(Information system)就是涉及信息的存储,传输与处理的软硬件设备。
大数据系统是实现大数据存储、管理、处理和服务的分布式信息系统。
- M Steen, AS Tanenbaum, Distributed systems: principles and paradigms, Prentice Hall, 2007.
信息系统的设计原则
基本原则:信息系统的软硬件的组织方式,如计算、存储、通信之间的模式,应该和信息系统的功用相适应。 类似于政治经济学中的“经济基础与上层建筑”。
设计问题:集中式与分布式?
信息系统的设计思路
大数据系统设计的基本思路:
- 单台机器能力有限,需要多机系统。(并行性、扩展性)
- 单台机器容易出现故障,系统要能容错。(可靠性)
- 多机系统之间需要高速可靠的网络通信。(局部网络)
- 集群上的编程要简单。(易用性)
防范多机系统中,单台机器故障导致系统功能不正常:
- 数据要冗余备份,分布在不同机器上。
- 任务要能够切分成独立的单个任务小任务。
- 系统能监控不同计算任务的运行状况,保障每个计算任务的正确执行。
- 遇到单台机器故障时,系统能重新部署该机器上的计算任务。计算任务超时则重启和重新部署。
用户与系统交互:
- 用户程序在多台机器上运行,用户编程不必要关心底层细节。
分布式存储与并行处理系统
分布式文件系统
运行在由很多机器组成的集群上的文件系统;
所有文件都做了冗余备份,存放在不同的机器上;
机器的随机宕机,不会导致文件系统的可用性问题;
谷歌文件系统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.