简介

  • Hadoop是Apache基金会开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下开发分布式程序,充分利用集群的威力进行告诉运算和存储。
  • 得名由来:开发者的女儿给一头黄色大象起的名字。
  • Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS,它有着高容错性的特性,并且设计用来部署在低廉的硬件上,提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集的应用程序。
  • Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。
  • Hadoop是适合海量数据的分布式存储和分布式计算平台。
  • 为什么HDFS不适合存储小文件?假如有一个100m的文件和100个1m的文件,在数据存储上面完全没有差异,但是在管理节点和元数据上面,一个100m的文件只有一份元数据信息,而后者却有100份,这会对管理节点造成非常大的压力,所以不适合存储大量的小文件。

    数据体积

  • bit、byte、kb、mb、gb、tb、……
  • 1byte=8bit
  • 1kb=1024byte
  • 1mb=1024kb

    存储方式

  • 集中式存储:一个完整的数据都存储在一个存储介质中,数据的物理结构没有破坏,是完整的,比如一个100mb的数据存放在一块1t的硬盘中。
  • 分布式存储:一个完整的数据存储在不同的存储介质中,数据的物理结构被破坏了,从逻辑上看同样是完整,比如一个100mb的数据,50mb存在A机器,30mb存在B机器,20mb存在C机器。为了保证数据的健壮性,需要对数据做冗余存储(备份)。而在分布式存储系统中,分散在不同节点中的数据可能属于同一个文件,为了组织众多的文件,可以把文件放在不同的文件夹中,文件夹可以一级一级包含。我们把这种组织形式成为命名空间(namespace)。命名空间管理着整个服务器集群中的所有文件。
    ###计算方式
  • 集中式计算:计算和数据在同一台机器的同一个进程中完成。1+…+1000=50500,需要10分钟。
  • 分布式计算:机器A:1+…+100=A 1分钟

    机器B:101+…+200=B 1分钟

    ……

    最终将所有机器的计算结果汇总到其中一台机器上,得到最终结果。

    四大模块

  • Hadoop Common:支持其他模块的公共组件。
  • Hadoop Distributed File System
  • Hadoop TARN:任务调度和集群资源管理的框架
  • Hadoop MapResource:以YARN为基础的大数据并发处理系统。