简介
- 由Apache开发的分布式系统基础架构;
- 用户可以在不了解分布式狄岑细节的请款那个下,开发分布式程序,充分利用集群的威力进行高效运算和存储;
- Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS;
- HDFS有很高的容错性的特点,并且设计用来部署在低廉的硬件上;而且提供很高的吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序;HDFS方宽看POSIX的要求,可以以流的形式访问文件系统中的数据;
- Hadoop的框架最核心的设计就是:HDFS和MapReduce;
- HDFS为海量的数据提供了存储;
- MapReduce则为海量的数据提供了计算;
分布式系统
- 一个著名的分布式系统的例子就是万维网(World Wide Web)也就是www
- 建立在网络之上的软件系统;正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性;因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件;
- 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统;
- 首先,这种系统最起码都是由好几台主机组成的;
- 其次,这些主机对外人来说是看不到的;也就是说,我们只看到是一个系统在运作;
- 从进程的角度看,脸男公关程序分别裕兴在两个主机的进程上,他们相互协作完成同一个服务或者功能,那么理论上这两个程序所组成的系统,也可以称作是“分布式系统”;
- 当然,这两个程序可以是不同的程序,也可以是相同的程序;如果是相同的程序,我们又可以称之为“集群”;所谓集群,就是将相同的程序,通过不断横向扩展,以提高服务能力的方式;
分布式系统优势
- 说起分布式系统,我们就不得不说下分布式系统的祖先——集中式系统。集中式系统跟分布式系统是完全相反的两个概念。集中式系统就是把所有的程序、功能都集中到一台主机上,从而往外提供服务的方式。
- 我们把各种软件都安装在一台机子上,当我需要什么功能,我就从这台机子上去获取。再比如,我们在学生时代做的课程设计或者开发时的小应用,我们把Web服务器、数据库等都会安装到一台电脑上。好处是,易于理解、方便维护,想要的东西我都放到了一个地方,东西好找啊。
- 但是如果这台机子崩了,或者硬盘坏了,那相当与整个系统就奔溃了
- 使用分布式系统的另外一个理由是可扩展性。毕竟任何主机(哪怕是小型机、超级计算机)都会有性能的极限。而分布式系统可以通过不断扩张主机的数量以实现横向水平性能的扩展。