云计算期末总结

1、什么是云计算

        云计算是一种商业计算模型,它将计算任务分布在由大量计算机构成的资源池上,使用户能够按需获取计算能力、存储空间和信息服务。

2、云计算的四要素

  • 通过互联网提供自助式服务
  • 快速部署资源或获得服务
  • 按需扩展和使用
  • 按使用量付费

3、云计算是下面这些计算的发展

  • 并行计算
  • 分布式计算
  • 网格计算

4、虚拟化的益处

        能够充分地发挥现有处理器资源的作用,减少硬件机箱的数量,也随之减少占用空间、电力及发热。

5、云计算的工作机制

  • 本地计算机:通过互联网发送需求信息。
  • 远端计算机:为用户提供需要的资源并将结果返回给本地计算机。

6、云计算的组成可以分为六部分,它由下至上分别为:

  • 基础设施
  • 存储
  • 平台
  • 应用
  • 服务
  • 客户端

7、云计算发展现状面临的问题:

  • 配套资源落后:云数据中心部署结构不合理,资源利用率低(如电信、移动)。
  • 规模小:在规模结构方面,中国大规模数据中心比例偏低,还没有实现集约化、规模化的建设。
  • 业务单一:云服务能力亟待提高,配套资源匮乏。
  • 缺少法律保障:信息安全法律法规和监管体系不够健全。
  • 缺少人才:云计算人才缺口较大,缺乏 成熟商。

8、云计算服务模式(云交付模式):

  • 软件即服务(Saas)
  • 基础设施即服务(Iaas)
  • 平台即服务(Paas)

9、软件即服务(Saas):

        Saas,它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件。

  • 随时随地访问
  • 支持公开协议
  • 安全保障
  • 多用户机制

10、平台即服务(Paas):

        Paas是将服务器平台或者开发环境作为服务进行提供。开发简单、部署简单、维护简单。

  • 有好的开发环境
  • 丰富的服务
  • 自动的资源调度
  • 精细的管理和监控

11、基础设施即服务(Iaas):

        Iaas,服务提供商将堕胎服务器组成的“云端”服务(包括内存、I/O设备、存储和计算能力等等)作为计量服务提供给用户。

主要功能如下:

  • 资源调度:使用资源抽象的方法,能更好地调度和管理物理资源。
  • 负载管理:通过负载管理,使部署在基础设施上的应用能更好地应对突发情况,并更好地利用系统资源。
  • 数据管理:数据的完整性、可靠性和可管理性使云计算对基础设施即服务的基本要求。
  • 资源部署:将整个资源从创建到使用的流程自动化。
  • 安全管理:保证基础设施和其提供资源被合法地访问和使用。
  • 计费管理:通过细致地计费管理能使用户更灵活地使用资源。

12、云部署形式:

  • 公有云
  • 私有云
  • 混合云

13、公有云:

        构建大型地基础设施的云出租给公众。云端资源外部客户提供服务的云,它所有的服务是供别人使用,而不是自己用,基本上只要付费都可以用,因此公有云的规模往往也更大。

        应用程序、资源、存储和其他服务,都由云服务提供商来提供给用户,这些服务多半都是免费的,也有部分按使用量来付费,这种模式只能使用互联网来访问和使用。

        优点:对用户来说成本低,服务多

        缺点:安全性不高

14、私有云:

        利用已有或租用基础设施资源自我构建云。云端资源只给一个单位组织内部的用户使用,这是私有云的核心特征。

        私有云的部署比较适合于有众多分支机构的大型企业或政府部门。随着这些大型 企业数据中心的集中化,私有云将会成为他们部署IT系统的主流模式。

        优点:可根据自己需求构建、安全性高。

        缺点:需要IT团队维护,构建成本高。

15、混合云:

        混合云:由两种或两种以上部署形式组成的云。它们各自独立,用标准/专有的技术将它们组合起来,实现云之间数据和应用程序的可移植性。

        优点:敏捷、灵活、降低成本。

        缺点:兼容性问题。

16、云服务下的云应用——云存储

        云存储是一种新兴的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。

17、云服务下的云应用——云服务

        云服务主要以邮箱为账号,实现用户登陆账号后,内容在线同步的作用。

18、云服务下的云应用——云联网

        物联网就是物物相连的互联网,物联网有两种业务模式:

        (1)MAI(M2M Application Integration)和内部MaaS;

        (2)MaaS(M2M as a Service)、MMO和Multi-Tenants(多租户模型)。

19、云计算关键技术:

  • 分布式海量数据存储
  • 虚拟化技术 
  • 云管理平台技术
  • 并行编程技术
  • 数据管理技术

20、云计算与大数据的关系:

        云计算与大数据的关系是静与动的关系。前者强调的是计算能力,后者看中的是存储能力。如果数据是财富,那么大数据就是宝藏,而云计算就是挖掘和利用宝藏的利器。

21、云计算能为大数据带来的变化:

        云计算为大数据提供了可以弹性扩展、相对便宜的存储空间和计算资源;云计算IT资源庞大,分布较为广泛,是异构系统较多的企业及时准确处理数据的有利方式,甚至是唯一方式。

22、云计算的优势与挑战:

云计算的优势

  • 超大规模
  • 虚拟化
  • 高可靠性
  • 高可扩展性
  • 通用性
  • 按需服务
  • 便利性

云计算面临的挑战:

  • 服务的持续可用性
  • 服务的安全性
  • 服务的迁移
  • 服务的性能

23、云计算机制:

  • 云基础设施机制
  • 云管理机制
  • 特殊云机制

24、云基础设施机制:

        云基础设施机制是云环境的基础构建块,它是形成云技术架构基础的主要构件。云基础设施机制主要针对计算存储网络

25、虚拟防火墙:

        虚拟防火墙可以支持多种虚拟机,比如Vmware、Xen、HyperV等,为主机提供从网络层到应用层的七层安全防护。虚拟防火墙工作于虚拟机之上,称为虚拟服务器于Internet之间的保护层。

        每个虚拟防火墙能够实现防火墙的大部分特性,并且虚拟防火墙之间独立。

26、虚拟专用网(VPN)

        虚拟专用网络 (VPN) 是一种通过公用网络(如 Internet)连接专用网络(如办公室网络)的方法。 

VPN系统主要技术特点:

  • 安全保障
  • 服务质量保证(QoS)
  • 可扩充性和灵活性
  • 可管理性

27、虚拟服务器

基本特性:

  • 多实例:通过服务器虚拟化,一台物理机上可以运行多个虚拟服务器,支持多个客户操作系统,并且物理系统的资源是以可控的方式分配给虚拟机。
  • 隔离性:虚拟服务器可以将同一台物理服务器上的多个虚拟机完全隔离开来。多个虚拟机之间就像多个物理机器之间一样,每个虚拟机都有自己独立的内存空间,一个虚拟机的崩溃并不会影响到其他虚拟机。
  • 封装性:一个完整的虚拟机环境对外表现为一个单一的实体,便于在不同的硬件设备之间备份、移动和复制。同时,虚拟服务器将物理机器的硬件封装为标准化的虚拟硬件设备提供给虚拟机内的操作系统和应用程序,提高了系统的兼容性。

虚拟服务器的优点:

  • 实时迁移:实时迁移是指在虚拟机运行时,将虚拟机的运行状态完整、快速地从一 个宿主平台迁移到另一个宿主平台,整个迁移过程是平滑的,且对用户透明。
  • 快速部署:采用虚拟服务器后部署过程只需要复制虚拟机启动虚拟机配置虚拟机几个步骤,通常只需要十几分钟,且部署过程自动化, 不易出错。
  • 高兼容性:虚拟服务器提供的封装性和隔离性使应用的运行平台与物理底层分离, 提高了系统的兼容性。
  • 提高资源利用率:在采用虚拟服务器之后,可以将原来多台服务器上的应用整合到 一台服务器中,提高了服务器资源的利用率,并且通过服务器虚拟化固有的多实例、 隔离性和封装性保证了应用原有的性能和安全性。
  • 动态调度资源:虚拟服务器可以使用户根据虚拟机内部资源的使用情况即时,灵活地调整虚拟机的资源,例如CPU内存等,而不必像物理服务器那样需要打开机箱变更硬件。

28、云存储设备:

        云存储设备机制是指专门为基于云配置所设计的存储设备。这些设备的实例可以被虚拟化。其单位如下:

文件(file):数据集合分组存放于文件夹中的文件里;

(block):存储的最低等级,最接近硬件,数据块是可以被独立访问的最小数据单位

数据集(dataset):基于表格的以分隔符分隔的或以记录形式组织的数据集合;

对象(object):将数据及其相关的元数据组织为基于Web的资源,各种类型的数据都可以作为Web资源被引用和存储。

29、远程管理系统:

远程管理系统分为:资源管理系统SLA管理系统计费管理系统

主要创建两种类型的入口:

        1、使用与管理入口;        2、自助服务入口

        云用户能执行的任务:配置与建立云服务;为按需云服务提供和释放 IT资源;监控云服务的状态、使用和性能;监控QoS和SLA的实行; 管理租赁成本和使用费用;管理用户账户、安全凭证、授权和访问控制;追踪对租赁服务内部与外部的访问;规划和评估 IT 资源供给;容量规划。

30、资源池化管理:

        资源池化管理系统(resource pool management system)是云管理平台的关键所在,因为在一个企业内部,传统数据中心往往打散在不同地区,不同地区的数据中心也会有不同的等级以及业务属性。

        资源池是以资源种类为基础来进行划分的,资源池建设考虑以下五个要素:资源种类、应用架构、应用等级保障、安全域和管理需求。

31、特殊云机制:

  • 自动伸缩监听器
  • 负载均衡器:非对称分配、负载优先级、上下文感知分配
  • 故障转移系统
  • 虚拟机监听器
  • 资源集群
  • 多设备代理
  • 状态管理数据库

        可以把所有这些机制堪称对云基础设施的扩展。

32、负载均衡实现的方法:

负载均衡实现方式有以下几类:

  1. 软件负载均衡技术
  2. 硬件负载均衡技术
  3. 本地负载均衡技术
  4. 全局负载均衡技术(也称为广域网负载均衡)
  5. 链路集合负载均衡技术

33、虚拟化带来的好处:

  • 提高资源利用率
  • 降低成本、节能减排
  • 统一管理
  • 提高安全性

34、虚拟化的特点:

  • 分区:分区指可在一台服务器上运行多台虚拟机使一台服务器运行多个应用程序。
  • 隔离:隔离指分区完后的所有虚拟机之间相互隔离,每个虚拟机像单独的物理主机。
  • 封装:整个虚拟机运行条件封装在独立文件夹中,可通过移动文件的方式来迁移虚拟机。
  • 相对于硬件独立:虚拟机运行在虚拟化层之上,不必考虑物理服务器即可在任何服务器上运行。

35、虚拟化的分类:

  • 服务虚拟化
  • 存储虚拟化
  • 网络虚拟化
  • 桌面虚拟化

36、虚拟化类型

  • 寄居虚拟化
  • 裸金属虚拟化
  • 混合虚拟化

37、虚拟化层架构

        虚拟化层架构有:全虚拟化、半虚拟化、硬件辅助虚拟化。

38、在x86体系CPU指令集中

        CPU有4个特权级(ring0--ring3),RING0层拥有最高的权限,        RING3层拥有最低的权限。

39、一个完整的Docker由以下几个部分组成:

  • 客户端:C/S架构,既可以在本地访问守护进程,也可以远程访问守护进程。
  • 守护进程:客户端连接守护进程,通过命令向守护进程发出请求,守护进程通过一系列的操作返回结果。
  • 镜像:镜像是容器的基石,容器基于镜像启动和运行。镜像就好像容器的源代码,保存了容器各种启动的条件,用来创建Docker容器,一个镜像可以创建多个容器。
  • 容器:容器通过镜像来启动,容器是docker的执行来源,可以 执行一个或多个进程。镜像相当于构建和打包阶段,容器相当于启动和执行阶段。容器 启动时,Docker容器可以运行、开始、停止、移动和删除。每一个Docker容器都是独 立和安全的应用平台。容器就是镜像创建的运行实例。
  • 仓库:用来保存镜像。

40、计算公式:VCPU=服务器CPU个数*单个CPU核数*线程(超线程为2,单线程为1)

41、网络虚拟化

        网络虚拟化将不同网络的硬件和软件资源结合成一个虚拟的整体,通常包括虚拟局域网虚拟专用网。

        网络虚拟化的最终目的是将逻辑IP地址与物理IP地址“松耦合”。

42、物理网络包含的设备:

路由器、二层交换机、三层交换机、服务器网卡。

43、VPC虚链路聚合,是常见的二层虚拟化技术。

44、VXLAN虚拟扩展局域网。

45、存储虚拟化技术

        主要分为硬件软件两种方式来实现。

46、云安全

        云安全就是确保用户在稳定和私密的情况下在云计算中心上运行应用,并保证存储于云中的数据的完整性机密性

47、分布式文件系统

        分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连

        分布式文件系统使得分布在多个节点上的文件如同位于网络上的一个位置一样便于动态扩展和维护。

        实现分布式文件系统一般有两种方法:共享文件系统共享磁盘

48、服务器介绍

        分布式文件系统的典型架构,其中重要的服务器包括:主控服务器数据服务器客户服务器

        存储目录结构的主控服务器,在GFS中称为master,在 HDFS中称为name node。

49、数据服务器

        每一个文件的具体数据,都切分成若干个数据块,冗余地存放在数据服务器。

        数据服务器的主要工作模式就是定期向主控服务器汇报其状况,然后等待并处理命令,更快更安全的存放好数据。

        具体的文件数据被切分成数据块,存放在数据服务器 上。每一个文件数据块,在数据服务器上都表示为一对文件(这是普通的Linux文件),一个是数据文件,另一 个是附加信息的元文件,简称为数据块文件

        主要功能有:1.数据本地存储;2.状态维护;3.副本管理。

50、客户端

        客户端主要的两个功能如下:接口缓存

51、数据块文件存放在数据目录下,它有一个名为current的 根目录,Block类用于表示数据块,而FSDataset类是数 据服务器管理文件块的数据结构。

52、服务器间协议

        在Hadoop的实现中,部署了一套RPC(远程过程调用协议)机制,用来实现各服务间的通信协议。

53、GFS

        GFS(Google File System)是由Google开发并设计的一个面向大规模数据处理的分布式文件系统。

        集成了持续的监控、错误侦测、灾难冗余以及自动恢复的机制;一个文件块的大小是64M;绝大部分的大数据都采用在文件尾部追加数据的方式。

        GFS采用主/从模式,GFS有三个节点:clientMasterChunk服务器

54、Master服务器

       Master(主服务器)作为管理节点,保存系统的元数据,负责整个文件系统的管理。 

       Master节点使用心跳信息周期地和每个Chunk服务器通讯,发送指令到各个Chunk服务器并接收Chunk服务器的状态信息。

       Client对数据的读写不是在Master上,而是通过Master获取block在chunk上的位置信息,直接和 Chunk服务器进行数据交互读写。

55、Chunk服务器

        Chunk是真正用于存储数据的机器,用来存储的文件大小为64MB,每个block的副本都以普通Linux文件的形式保存在Chunk服务器上。

        Master服务器并不是持久化地保存Chunk服务器保存的指定block的副本信息。Master服务器只是在启动的时候轮询Chunk服务器以获取这些信息。

        GFS没有选择直接以文件为单位进行存储,而是把文件分为一个个chunk来存储。 GFS把每个chunk设为64MB

56、GFS存储设计

        为什么GFS会这么设计呢?

        ①使用GFS的系统需要存储的文件都偏大(几GB),所以较大的chunk可以有效减少系统内部的寻址和交互次数;

        ②大的chunk意味着client可能在一个chunk上执行多次操作, 这可以复用TCP连接,节省网络开销;

        ③更大的chunk可以减少chunk数量,从而节省元数据存储开销,相当于节省了系统内最珍贵的内存资源,这对GFS来讲是非常关键的

57、GFS的master设计

        文件位置等信息→元数据

        管理元数据节点设计为单master节点。 

GFS设计了单个master节点,用来存储整个文件系统的三类元数据:

1. 所有文件和chunk的namespace【持久化】

2. 文件到chunk的映射【持久化】

3. 每个chunk的位置【不持久化】

58、GFS读取一个文件的过程:

        文件名→获取文件对应的所有chunk名→获取所有chunk的位置→ 依次到对应的chunkserver中读取chunk。

59、GFS的master设计

GFS采用了一系列措施来确保master不会成为整个系统的瓶颈:

①GFS所有的数据流都不经过master,而是直接由client和 chunkserver交互;

GFS把控制流和数据流分离,只有控制流才会经过master

②GFS的client会缓存master中的元数据,在大部分情况下,都无需访问master;

③为了避免master的内存成为系统的瓶颈,GFS采用了一些手段来节省master的内存,包括增大chunk的大小以节省chunk的数量、对元数据进行定制化的压缩等。

60、GFS的高可用性设计

        高可用问题现在比较通用的做法是共识算法,比如Paxos 和Raft。

        但GFS诞生的时候,共识算法不像现在这么成熟,所以 GFS借鉴了主备的思想,为系统的元数据和文件数据都单独设计了高可用方案。

云计算期末总结_第1张图片

 61、GFS的特点

  • 控制流和数据流的分离
  • 降低master的负载
  • 性能提高
  • 在用户态下实现

62、HDFS

        HDFS(Hadoop Distributed File System)是Hadoop的核心子项目, 是基于流数据模式进行访问和处理超大文件的需求而开发的,它可以运行于廉价的商用服务器上,为超大数据集(Large Data Set)的应用处理带来了很多便利。

        数据块:大文件会被分割成多个block进行存储。每一个block会在多个 datanode上存储多份副本,默认是3份。HDFS默认的最基本的存储单位是64M的数据块,这个数据块可以理解和一般的文件里面的分块是一样的。不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。

        元数据节点(namenode):用来管理文件系统的命名空间,它将所有的文件和文件夹的元数据保存在一个文件系统树中,并且它管理文件目录、文件和block的对应关系以及block和datanode的对应关系。

       数据节点(datanode):就是用来存储数据文件的。大部分容错机制都是在datanode上实现的。 

      从元数据节点(secondary namenode):主要的功能就是周期性地将元数据节点的命名空间镜像文件和修改日志合并,以防日志文件过大。  

63、HDFS的设计目标

  1. 错误检测和快速、自动地恢复是HDFS的核心架构目标。
  2. 比起关注数据访问的低延迟问题,HDFS的设计更关键的着重于数据访问的高吞吐量 。
  3. HDFS应用对文件要求的是write-one-read-many访问模型。
  4.  移动计算的代价比移动数据的代价要低。    

64、HDFS架构设计

        HDFS是一个主/从体系结构,从最终用户的角度来看,它就像传统文件系统一样,可以通过目录路径对文件进行CRUD操作。

        为了降低整体的带宽消耗和读取延时,HDFS会尽量让读取程序读取离它最近的副本。如果在读取程序的同一个机架上有一 个副本,那么就读取该副本

        如果一个HDFS集群跨越多个数据中心,那么客户端也将首先读本地数据中心的副本。

65、HDFS的优缺点

优点:

  • 处理超大文件
  • 流式地访问数据
  • 运行于廉价的商用机器集群上

缺点:

  • 不适合低延迟数据访问
  • 流逝地访问数据;无法高效存储大量地小文件;
  • 不支持多用户写入及任意修改文件。

66、GFS和HDFS的区别

快照:轻量级的备份

        GFS:快照功能非常强大,对数据的读写几乎不产生影响;

        HDFS:目前不支持快照,使用复制。

记录追加操作:GFS比HDFS更加完善

        GFS:提供一种更加宽松的一致性模型, 支持写、记录追加的操作;

        写操作——随机写文件

        追加操作——更加安全可靠

        HDFS:只允许对文件的追加,不允许随机写操作。

垃圾回收:

        GFS:采用惰性回收策略,即Master不会立即删除数据, 以一种特定的形式保存,定期删除(默认3天)。

        HDFS:采取直接删除。记录追加操作(append) GFS 比HDFS更加完善。

67、分布式应用协调器Zookeeper

        ZooKeeper 是Hadoop 的正式子项目,它是一个针对大型分布式系统的提供一致性服务,其一致性是通过Paxos算法的zab协议完成。提供的功能包括:配置维护、 名字服务、分布式同步、组服务等。

68、Zookeeper的设计目的

        ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户使用。

  • 最终一致性
  • 可靠性
  • 实用性
  • 等待无关
  • 原子性
  • 顺序性

69、Zookeeper的工作原理

        Zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。

        在ZAB中有如下三种数据:

  1. zxid:其为一个64位长度的Long类型,其中高32位表示epoch, 低32位表示xid。
  2. epoch:(时期、年号)每个Leader选举结束后都会生成一个新的epoch,并会通知到集群中所有其它Server,包含Follower与Observer。
  3. xid:事务id,是一个流水号。

        Zab协议是专门为Zookeeper设计的崩溃恢复的原子广播协议。 有两种模式,它们分别是恢复模式(选主)广播模式(同 步)。这两种模式并没有十分明显的界线,它们相互交织在一 起。

        每个server在工作过程中有如下四种状态:

  1. LOOKING:当前Server不知道Leader是谁,正在搜寻Leader;
  2. LEADING:当前Server即为选举出来的Leader;
  3. FOLLOWING:Leader已经选举出来,当前Server与之同步。
  4. OBSERVING:观察者状态。表明当前服务器角色是 Observer。

70、Zookeeper的工作原理

        ZooKeeper提供的是对一个分布式系统进行协同,存储单元叫作ZNode

        ZNode分为两类,即永久性ZNode临时性ZNode

        永久性ZNode是创建之后就会一直存在的ZNode,除非对其进行删除,否则不会消失;

        临时性ZNode的存在与否是与创建这个ZNode的进程是否继续存在相关的。对于一个临时性的ZNode,当创建这个 ZNode的进程不再存在时,这个ZNode就会随之消失。 为了能够对分布式系统提供协同支持,ZooKeeper针对 每一个ZNode提供了添加watch的特性。

71、云存储与传统存储的区别

功能需求:

        云存储系统面向多种类型的网络在线存储服务,传统存储系统则面向如高性能计算、事务处理等应用。

性能需求:

        数据的安全性、可靠性、效率等技术挑战。

数据管理:

        云存储系统不仅要提供传统文件访问,还要能够支持海量数据管理并提供公共服务支撑功能,以方便云存储系 统后台数据的维护。

72、云存储的分类

数据块级云存储、文件级云存储和对象级云存储。

73、数据密集型计算

        数据密集型计算(Data Intensive Computing)是指能推动前沿技术发展的对海量数据和高速变化的数据的获取,管理,分析和理解;是采用数据并行方法实现大数据量并行计算的应用,计算数据量级为TB或PB级,因此也被称为是大数据的核心支撑技术。

74、数据密集型计算与高性能计算、云计算的关系

        高性能计算偏向于计算密集型,而数据密集型计算面向的是海量的数据。

        数据密集型计算系统中的计算和存储应该是一体化的,节点之间是对等的。

        云计算是分布式计算、并行计算和网格计算的发展。

        云计算为数据密集型计算提供了可观的运行环境和支持。   

        目前许多数据密集型应用都被部署在云上。

75、集中式数据处理与分布式数据处理比较

  1. 集中式计算机网络由一个大型的中央系统,其终端是客户机,数据全部存储在中央系统,由数据库管理系统进行管理,所有的处理 都由该大型系统完成,终端只是用来输入和输出。终端自己不作任 何处理,所有任务都在主机上进行处理。
  2. 集中式数据存储的主要特点是能把所有数据保存在一个地方,各地办公室的远程终端通过电缆同中央计算机(主机)相联,保证了 每个终端使用的都是同一信息。
  3. 这类网络不利的一面是来自所有终端的计算都由主机完成,这类网络处理速度可能有些慢。另外,如果用户有各种不同的需要,在 集中式计算机网络上满足这些需要可能是十分困难的。

        分布式计算的优点是可以快速访问多用户使用

76、MapReduce

        MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:MapReduce

        MapReduce采用“分而治之”策略,一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片(split),这些分片可以被多个Map任务并行处理。

        MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave。Master上运行JobTracker,Slave上运行TaskTracker ;
        JobTracker(作业跟踪器):负责整个作业的调度和处理以及失败和恢复。

        TaskTracker (负责具体任务执行的组件):负责接收 JobTracker给它发的作业处理指令完成具体的任务处理。

        Hadoop框架是用Java实现的,但是,MapReduce应用程序则不一 定要用Java来写 。

        MapReduce体系结构主要由四个部分组成,分别是: ClientJobTrackerTaskTracker以及Task

77、MapReduce各个执行阶段

Map任务的数量

        Hadoop为每个split创建一个Map任务,split的多少决定了Map 任务的数目。大多数情况下,理想的分片大小是一个HDFS块。

Reduce任务的数量

        最优的Reduce任务个数取决于集群中可用的Reduce任务槽 (slot)的数目;

78、Spark

        Spark生态系统由如下两部分组成:Shark和SharkR。

        Spark最初由美国加州伯克利大学(UCBerkeley)的AMP实 验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。

        Spark有如下特点:

  • 运行速度快;
  • 容易使用;
  • 通用性;
  • 运行模式多样;

在实际应用中,大数据处理主要包括以下三个类型:

  1. 复杂的批量数据处理
  2. 基于历史数据的交互式查询
  3. 基于实时数据流的数据处理

Spark所提供的生态系统足以应对上述三种场景, 即同时支持批处理交互式查询流数据处理

79、Hadoop

        Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

优点有:高可靠性、高扩展性、高效性、高容错性、低成本。

80、Hadoop和MapReduce比较

        Hadoop是一种分布式数据和计算的框架。

        MapReduce是处理大量半结构化数据集合的编程模型。

        MapReduce和Hadoop是相互独立的,实际上又能相互 配合工作得很好。

81、NoSQL数据库

        NoSQL的结构通常提供弱一致性的保证,如最终一致性。少数 NoSQL系统部署了分布式结构,通常使用分布式散列表(DHT)将数据以冗余方式保存在多台服务器上。依此,扩充系统时候添加服务器更容易,并且扩大了对服务器失效的承受程度。

        NoSQL数据库的四大分类:键值、列存储数据库、文档型数据库、图形数据库。

82、BigTable分布式存储系统

        BigTable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据, 通常是分布在数千台普通服务器上的PB级的数据。

        BigTable是一个稀疏的、分布式的、持久化存储的多维度排序 Map。Map的索引是行关键字列关键字以及时间戳,Map中的每个 value都是一个未经解析的byte数组。

        BigTable包括了三个主要的组件,链接到客户程序中的库、一个 Master服务器和多个Tablet服务器。

83、Hbase分布式存储系统

        HBase是一个分布式的、面向列的开源数据库,就像BigTable利用 了Google文件系统(File System)所提供的分布式数据存储一样, HBase在Hadoop之上提供了类似于BigTable的能力。

        HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系 数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

        Hbase的访问接口如下:Native Java API、HBase Shell和Thrift Gateway。

Hbase数据形式:行、列族、时间戳、单元格、区域。

HBase自动把表水平(按Row)划分成多个区域(region)

你可能感兴趣的:(云计算)