大数据知识点总结(3)

时间:2021-08-31

  8、集群系统

  Google的数据中心使用廉价的Linux PC机组成集群,在上面运行各种应用。核心组件是3个:

  (a)GFS(Google File System)。一个分布式文件系统,隐藏下层负载均衡,冗余复制等细节,对上层程序提供一个统一的文件系统API接口。Google根据自己的需求对它进行了特别优化,包括:超大文件的访问,读操作比例远超过写操作,PC机极易发生故障造成节点失效等。GFS把文件分成64MB的块,分布在集群的机器上,使用Linux的文件系统存放。同时每块文件至少有3份以上的冗余。中心是一个Master节点,根据文件索引,找寻文件块。详见Google的工程师发布的GFS论文。

  (b)MapReduce。Google发现大多数分布式运算可以抽象为MapReduce操作。Map是把输入Input分解成中间的Key/Value对,Reduce把Key/Value合成最终输出Output。这两个函数由程序员提供给系统,下层设施把Map和Reduce操作分布在集群上运行,并把结果存储在GFS上。

  (c)BigTable。一个大型的分布式数据库,这个数据库不是关系式的数据库。像它的名字一样,就是一个巨大的表格,用来存储结构化的数据。

  9、子项目

  (a)HDFS: Hadoop分布式文件系统(Distributed File System)

  (b)MapReduce:MapReduce是处理大量半结构化数据集合的编程模型

  (c)HBase:类似Google BigTable的分布式NoSQL列数据库。

  HBase是一个分布式的,面向列的数据库。它基于Hadoop之上提供了类似BigTable的功能。

  (d)Hive:数据仓库工具。

  Hive是 一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类似SQL一样的查询语言HiveQL来管理这些数据。

  (e)Zookeeper:分布式锁设施,提供类似Google Chubby的功能。

  ZooKeeper是一个针对大型分布式系统的可靠协调系统,提供包括配置维护,名字服务,分布式同步和组服务等功能。 Hadoop的管理就是用的ZooKeeper。