资讯详情

云计算和大数据技术

云计算与大数据技术复习(总)

在这里插入图片描述

文章目录

  • 云计算与大数据技术复习(总)
    • **Cloud Computing & Big Data** ![插入图片描述](https://web.ruidan.com/images/aritcle/20220728/692923e73c6047aeb47704afa42ab792.png)
    • 第一章 云计算基础
      • 1.1 云计算定义
        • 1.1.1 云计算涉及技术
      • 1.2 云计算技术分类
        • 1.2.1 资源封装层次
        • 1.2.1 技术路线角度
        • 1.2.1 服务对象的角度
      • 1.3 三个阶段的生产数据
      • 1.4 云计算特点
      • 1.5 数据来源
      • 1.6 大数据特点
      • 1.7 大数据应用领域
      • 1.8 大数据处理系统
      • 1.9 大数据处理的基本流程[插入图片描述](https://img-blog.csdnimg.cn/c5738d41c3b04623bed59dd3dded9f35.png#pic_center)
      • 1.10 云计算时代的三个基本角色
      • 1.11 大数据
      • 1.12 内在动力
      • 1.13 云计算发展有两个主题
      • 1.14 科学家
      • 1.15 大数据相关技术
        • 1.15.1 数据收集
        • 1.15.2 数据存储
        • 1.15.3 数据分析
        • 1.15.4 数据再利用
      • 1.16 物联网产业链
    • 第二章 大数据基础
      • 2.1 科研四范式的发展历程
      • 2.2 非关系数据库
        • 2.2.1 产生
        • 2.2.2 定义
        • 2.2.3 分类
      • 2.3 一致性哈希算法
        • 2.3.1 基本原理
        • 2.3.2 计算与存储位置的一致性
        • 2.3.3 图解
      • 2.4 进化算法(蚁群算法)
      • 2.5 耗散结构
        • 2.5.1 消散结构的定义
        • 2.5.2 消散结构形成条件
        • 2.5.3 集群系统本身满足耗散结构的要求
    • 第三章 虚拟化技术
      • 3.1 虚拟化描述
      • 3.2 虚拟化技术分类
        • 3.2.1 指令集架构级虚拟化
        • 3.2.2 虚拟化硬件抽象层
        • 3.2.3 操作系统层虚拟化
        • 3.2.4 虚拟化编程语言层
        • 3.2.5 库函数层虚拟化
        • 3.2.6 五层对比
      • 3.3 虚拟化技术优势
      • 3.4 虚拟化技术的缺点
      • 3.5 操作系统虚拟化与硬件虚拟化之间的差异
      • 3.6 虚拟化形式
      • 3.7 虚拟机特征
      • 3.8 系统虚拟化
        • 3.8.1 定义
        • 3.8.2 优点
        • 3.8.3 分类
          • 3.8.3.1 虚拟化服务器
          • 3.8.3.2 桌面虚拟化
          • 3.8.3.3 网络虚拟化
      • 3.9 虚拟化软件
    • 第四章 虚拟化平台
      • 4.1 集群系统
        • 4.1.1 集群系统概念
        • 4.1.2 设计中应考虑的五个关键问题
        • 4.1.3 集群系统分类
        • 4.1.4 集群系统的特点
        • 4.1.5 集群一致性
          • 4.1.5.1 定义
          • 4.1.5.2 分类
        • 4.1.6 集群文件系统的优势
        • 4.1.7 大数据系统分类
      • 4.2 单系统图像
        • 4.2.1 单一系统的图像意义
        • 4.2.2 单一系统图像的好处
      • 4.3 SMP、MPP、集群对比
      • 4.4 Beowulf系统
        • 4.4.1 Beowulf定义
        • 4.4.2 Beowulf特点
        • 4.4.3与其他并行计算机比较
        • 4.4.4 并行计算的层次
      • 4.5集群文件
        • 4.5.1 定义
        • 4.5.2 集群文件系统的优点
      • 4.6 Lustre集群文件系统
        • 4.6.1 定义
        • 4.6.2 组成及功能
        • 4.6.3 Lustre优点:
        • 4.6.4 Lustre缺点:
      • 4.7 计算和数据在分布式系统中的协作机制
        • 4.7.1 基于计算切割的分布式计算
        • 4.7.2 混合分布式计算技术基于计算和数据切割-网格计算
        • 4.7.3 基于数据切割的分布式计算
        • 4.7.4 ☆三种计算对比
    • 第五章 MPI-面向计算
      • 51 MPI定义
      • 5.2 MPI特点
      • 5.3 函数名称
        • 5.3.1 最简单的并行程序
        • 5.3.2 获取进程标志和机器名
        • 5.3.3 有消息传递功能的并行程序
    • 第六章 分布式大数据系统——Hadoop
      • 6.1 Hadoop核心模块
      • 6.2 分布式计算框架MapReduce(进行计算)
        • 6.2.1 定义
        • 6.2.2 特点
        • 6.2.3 利用MapReduce解决wordcount的整个过程
      • 6.3 分布式计算框架系统HDFS(存放数据)
        • 6.3.1 HDFS简介
        • 6.3.2 文件存储时两个重要的策略
        • 6.3.3 工作过程
      • 6.4 Google文件系统(GFS)
        • 6.4.1 定义
        • 6.4.2 体系结构
        • 6.4.3 工作过程
        • 6.4.4 优势
      • 6.5 Hadoop与MPI在数据处理上的差异
    • 第七章 HPCC—面向数据的高性能计算集群系统
      • 7.1 HPCC优点
      • 7.2 高性能计算采用的两种方式
      • 7.3 高性能计算集群系统分类
        • 7.3.1 面向计算的高性能计算
        • 7.3.2 面向数据的高性能计算
      • 7.4 HPPC系统架构
        • 7.4.1 Thor
        • 7.4.2 Roxie
      • 7.5 HPCC平台数据检索任务的执行过程
        • 1. 加载原始数据
        • 2. 切分、分发待处理的数据
        • 3. 分发后原始数据的ETL处理
        • 4. 向Roxie集群发布
    • 第八章 基于拓扑的流数据实时计算系统——Storm
      • 8.1 storm简介
      • 8.2 Storm编程模型原理
      • 8.3 三进程架构
      • 8.4 优点
      • 8.5 体系结构
        • 8.5.1 ZooKeeper
          • 8.5.1.1 核心
          • 8.5.1.2 角色
          • 8.5.1.3 系统模型
      • 8.6 Storm与Hadoop区别
    • 第九章 服务器与数据中心
      • 9.1 数据中心的组成
      • 9.2 数据中心的能耗三个级别
      • 9.3 能耗评估参数PUE、DCIE、IT
        • 9.3.1 PUE
        • 9.3.2 DCIE
        • 9.3.3 IT设备的能效比
      • 9.4 数据中心发展阶段
      • 9.5 数据中心选址考虑因素
    • 第十章 云计算大数据仿真技术
      • 10.1 云仿真技术
        • 10.1.1 CloudSim的使用模型场景
          • 10.1.1.1 云数据中心的能耗模型
          • 10.1.1.2 云平台的经济模型
          • 10.1.1.3 联合云模型
          • 10.1.1.4 CloudSim中对定价策略进行模拟划分
          • 10.1.1.5 云存储分类
      • 9.4 数据中心发展阶段
      • 9.5 数据中心选址考虑因素
    • 第十章 云计算大数据仿真技术
      • 10.1 云仿真技术
        • 10.1.1 CloudSim的使用模型场景
          • 10.1.1.1 云数据中心的能耗模型
          • 10.1.1.2 云平台的经济模型
          • 10.1.1.3 联合云模型
          • 10.1.1.4 CloudSim中对定价策略进行模拟划分
          • 10.1.1.5 云存储分类

第一章 云计算基础

1.1 云计算定义

云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备;包括分布式计算技术、虚拟化技术、网络技术、服务器技术、数据中心技术、云计算平台技术、存储技术。

1.1.1 云计算涉及技术

  • 在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点:
  • 稀有资源可以共享,通过分布式计算可以在多台计算机上平衡计算负载,可以把程序放在最适合运行它的计算机上。
  • 共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。

  • 通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。

  • 把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息

  • 一种管理计算资源的计算机,服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。

  • 数据中心是全球协作的特定设备网络,用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息。

  • ​ 云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。
  • ​ 云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。

  • 通过网络把资源整合输出

1.2 云计算技术分类

1.2.1 资源封装的层次

基础设施即服务 IaaS 平台即服务 PaaS 软件即服务 SaaS

1.2.1 技术路线角度

资源整合型云计算和资源切分型云计算

1.2.1 服务对象角度

  • 指服务对象是面向公众的云计算服务,由云服务提供商运营。其目的是为终端用户提供从应用程序、软件运行环境,到物理基础设施等各种各样的IT资源。公有云对云计算系统的稳定性、安全性和并发服务能力有更高的要求。

  • 企业自建自用的云计算中心,其具备许多公有云环境的优点。指主要服务于某一组织内部的云计算服务,其服务并不向公众开放,如企业、政府内部的云服务

  • 公有云和私有云结合在一起的方式,该模式中,用户通常将非企业关键信息外包,并在共有云上处理,而掌握企业关键服务及数据内容则放在私有云上处理

  • 社区云是共有云范畴内的一个组成部分。它由众多利益向仿的组织掌控及使用。其目的是实现云计算的一些优势,例如特定安全要求、共同宗旨等社区成员共同使用云数据及应用程序

1.3 生产数据三个阶段

数据库技术使得数据的保存和管理变得简单,业务系统在运行时产生的数据直接保存数据库中,这个时候数据的产生是被动的,数据是随着业务系统的运行产生的。

互联网的诞生尤其是Web 2.0、移动互联网的发展大大加速了数据的产生,人们可以随时随地通过手机等移动终端随时随地地生成数据,人们开始主动地生成数据

感知技术尤其是物联网的发展促进了数据生成方式发生了根本性的变化,遍布在城市各个角落的摄像头等数据采集设备源源不断地自动采集、生成数据。

1.4 云计算特点

云计算系统的一个重要特征就是资源的集中管理和输出,这就是所谓的资源池。从资源低效率的分散使用到资源高效的集约化使用正是云计算的基本特征之一。分散的资源使用方法造成了资源的极大浪费,资源集中起来后资源的利用效率会大大地提高,随着资源需求的不断提高,资源池的弹性化扩张能力成为云计算系统的一个基本要求,云计算系统只有具备了资源的弹性化扩张能力才能有效地应对不断增长的资源需求。
云计算系统带给客户最重要的好处就是敏捷地适应用户对资源不断变化的需求;
云计算系统实现按需向用户提供资源能大大节省用户的硬件资源开支,用户不用自己购买并维护大量固定的硬件资源,只需向自己实际消费的资源量来付费;
按需提供资源服务使应用开发者在逻辑上可以认为资源池的大小是不受限制的,应用开发者的主要精力只需要集中在自己的应用上。
现有的云计算平台的重要特点是利用软件来实现硬件资源的虚拟化管理、调度及应用。
在云计算中利用虚拟化技术可大大降低维护成本和提高资源的利用率。
从最终用户的角度看,基于云计算系统的应用服务通常都是通过网络来提供的,应用开发者将云计算中心的计算、存储等资源封装为不同的应用后往往会通过网络提供给最终的用户。
云计算技术必须实现资源的网络化接入才能有效地向应用开发者和最终用户提供资源服务。
以网络技术的发展是推动云计算技术出现的首要动力。
用户数据存储在服务器端,而应用程序在服务器端运行,计算由服务器端来处理。所有的服务分布在不同的服务器上,如果什么地方(节点)出问题就在什么地方终止它,另外再启动一个程序或节点,即自动处理失败节点,从而保证了应用和计算的正常进行。
数据被复制到多个服务器节点上有多个副本(备份),存储在云里的数据即使遇到意外删除或硬件崩溃也不会受到影响。
云服务商组建一个采用大量的商业机组成的机群相对于同样性能的超级计算机花费的资金要少很多。租户节省购买大量硬件的资金

1.5 数据来源

  • 管理信息系统
  • 网络信息系统
  • 物联网系统
  • 科研实验系统

1.6 大数据特点

大量(Volume)、高速(Velocity)、多样(Variety)、低价值密度(Value)、真实性(Veracity)

1.7 大数据应用领域

科学计算(基因计算)、金融(股票交易)、社交网络(Facebook)、移动数据(移动终端)、物联网(传感网)、网页数据(新闻网站)、多媒体(视频网站)

1.8 大数据处理系统

  • 数据查询分析计算系统(HBase、Hive、Hana)

  • 批处理系统(Hadoop、Spark、MapReduce)

这种系统是对互联网中产生的海量的静态的数据进行处理。例如对客户在网站中的点击量和网页的浏览量等数据进行处理,从而或者客户对哪些商品比较偏爱。
  • 流式计算系统(Scribe、Storm、Flume)
这种系统是对互联网中大量的在线数据进行实时处理。这些在线数据具有复杂的格式,并且数据是连续不断地来源于众多的渠道,该种系统需要对这些实时的数据进行实时的、快速的处理。例如生物体中传感器的数据、商场人流量数据、定位系统的数据都需要高效地实时处理。
  • 迭代计算系统(HaLoop、Spark、Twister)
  • 图计算系统(Pregel、Giraph、GraphX)
  • 内存计算系统(Dremel、HANA、Spark)

补充:HBase(Hadoop Database)

  • HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用该技术可在廉价服务器搭建大规模结构化存储集群,其是Hadoop项目的子项目。不同于一般的关系数据库,是一个适合于非结构化数据存储的数据库。另一个不同的是,HBase的模式是基于列的而不是基于行的。
  • 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

  • 定义:利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑统一的数据库
  • 基本思想:将原来集中式数据库中数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量

1.9 大数据处理基本流程

:从数据中提取出关系和实体,经过关联和聚合等操作,按照统一定义的格式对数据进行存储。

:用户根据自己的需求对这些数据进行分析处理,如数据挖掘、机器学习、数据统计等,数据分析可以用于决策支持、商业智能、推荐系统、预测系统等

:这是用户最关心的数据处理的结果;可视化:标签云、历史流、空间信息流;人机交互:引导用户对数据逐步分析,使用户参与到数据分析过程中,使用户可以深刻地理解数据分析结果。

1.10 云计算时代的基本的3种角色

  • 资源的整合运营者、资源的使用者、终端客户。

1.11 大数据

  • 大数据是现有数据库管理工具和传统数据处理应用很难处理的大型、复杂的数据集,大数据的技术包括采集、存储、搜索、共享、传输、分析和可视化等。

1.12 内在动力

在信息产业的发展历程中,作为两个重要的内在动力再不同时期起着重要作用。

1.13 云计算发展两大主题

  • 计算和数据

1.14 科学家

1.15 大数据相关技术

1.15.1 数据收集

  • 数据处理的基础和前提,数据分析的根本保证

1.15.2 数据存储

  • 数据存储的方式和存储的媒介会影响数据分析和处理方式,是数据使用的可行性条件

1.15.3 数据分析

  • 数据使用的手段,通过绘制图标、数据比对等手段进行数据分析

1.15.4 数据再利用

  • 大数据的关键,再利用是创造价值的前提,是大数据的最终目的

1.16 物联网产业链

物联网(“The Internet of Things”,简称:IOT)产业链可细分为4个环节,因此物联网每个环节主要涉及的关键技术包括:射频识别技术、传感器技术、传感器网络技术、网络通信技术等。

第二章 大数据基础

2.1 科学研究四范式的发展历程

① 观测 实验

② 理论(计算萌芽)

③ 计算仿真 (面向计算)

④ 数据(面向数据)

2.2 非关系型数据库

2.2.1 产生

  • 云计算技术对数据库高并发读/写的需求,对海量数据的高效率存储和访问的需求,对数据库的高可扩展性和高可用性的需求都让传统关系型数据库系统显得力不从心。同时关系型数据库技术中的一些核心技术要求如:数据库事务一致性需求,数据库的写实时性和读实时性需求,对复杂的SQL查询,特别是多表关联查询的需求等在Web 2.0技术中却并不是必要的,而且系统为此付出了较大的代价。非关系型数据库技术的出现是云计算、大数据技术的必然需求。非关系型数据库,又被称为NoSQL(Not Only SQL),意为不仅仅是SQL(Structured Query Language,结构化查询语言),—NoSQL描述的是大量结构化数据存储方法的集合

2.2.2 定义

  • 非关系型数据库,又被称为NoSQL(Not Only SQL),意为不仅仅是SQL,结构化查询语言)NoSQL主要是指非关系型、分布式、不提供ACID(数据库事务处理的四个基本要素)的数据库设计模式,描述的是大量结构化数据存储方法的集合

2.2.3 分类

(根据结构化方法以及应用场合的不同)

  • :面向检索的列式存储,其存储结构为列式结构,能让很多统计聚合操作更简单方便,使系统具有较高的可扩展性。

  • :面向高性能并发读写的缓存存储,以键值对存储,能够提供非常快的查询速度、大数据存放量和高并发操作,非常适合通过主键对数据进行查询和修改等操作。

  • :面向海量数据访问的文档存储,类似于键值对,但这个值主要以JSON或XML格式的文档来进行存储,这种存储方式可以很方便的被面向对象的语言使用。

2.3 一致性哈希算法

2.3.1 基本原理

  • 传统的哈希算法在节点数没有变化时能很好的实现数据的分配,但当结点数发生变化时传统的哈希算法将对数据进行重新的分配,这样系统恢复的代价就非常大。

  • 解决节点频繁变化时的任务分配问题。

  • 将服务器的IP地址或者主机名作为关键字进行哈希,确定每个节点在哈希环上的位置;将数据的关键字也用同样的哈希函数映射到哈希环上,然后沿着该环顺时针向后,将遇到的第一个节点作为处理节点(向上取整);当增加或者减少节点时,只会影响与之相邻的某一节点,其他节点不受影响。

  • 解决节点负载不均衡问题(当结点数少的时候,根据哈希函数将节点映射到哈希环中,会导致分布不均匀),即对每一个节点计算多个hash值,尽量保证这些hash值比较均匀的分布在哈希环中。当根据Key查找节点时,找到的是虚拟节点,然后再跟据虚拟节点查找对应的真实节点。

2.3.2 计算和存储位置一致性

  • 用户名加逻辑存储位置所构成的字符串在系统中是唯一确定的。

  • 面向“小”数据,不涉及文件分块问题
  • 数据块间的处理是独立的,保证节点间发起的计算是低耦合的
  • 程序片的典型大小远小于需要处理的数据大小
  • 数据的存储优先于计算发生。

  1. 将服务器节点以IP地址作为key以一致性哈希算法映射到哈希环上
  2. 数据以“用户名+文件逻辑位置”作为key,映射到哈希环上,顺时针找到最近的节点作为实际数据存储的位置
  3. 在发起计算任务时提取key值,映射到哈希环上,顺时针找到最近的节点注入程序并发起计算。(数据找服务器计算,计算完再走)

  • 只要程序片需要处理的数据的逻辑位置是固定的,系统就会将计算程序片路由到数据存储位置所在的节点,节点的负载均衡有数据分布均衡来实现。
  • 无中心节点的计算和数据定位使计算可以唯一的找到其所要处理和分析的数据,使计算尽可能地在数据存储的位置发起,从而节约大量的网络资源,同时避免了系统单点失效造成的不良影响。
  • 面对海量文件系统不用维护庞大的元数据库来保存文件的存储信息,计算寻找数据的速度快,路由算法复杂度低。

一致性哈希算法的基本实现过程为:对Key值首先用MD5算法将其变换为一个长度32位的十六进制数值,再用这个数值对232取模,将其映射到由232个值构成的环状哈希空间,对节点也以相同的方法映射到环状哈希空间,最后Key值会在环状哈希空间中找到大于它的最小的节点值作为路由值。   一致性哈希算法的采用使集群系统在进行任务划分时不再依赖某些管理节点来维护,并且在节点数据发生变化时能够以最小的代价实现任务的再分配,这一优点特别符合云计算系统资源池弹性化的要求,因此一致性哈希算法成为了实现无主节点对等结构集群的一种标准算法。

2.3.3 图解

2.4 进化算法(蚁群算法)

  • 由个体根据简单规则、通过正反馈、分布式协作依靠群体的力量自动寻找最优路径。

2.5 耗散结构

2.5.1 耗散结构定义

  • 出现自组织现象的系统必须是耗散结构的。耗散结构理论指出:一个开放系统处在远离平衡的非线性区域,当系统的某个参数变化到一定临界值时,通过涨落,系统发生突变,即非平衡相变,其状态可能从原来的混乱无序的状态转变到一种在时间、空间或功能上有序的新状态,这种新的有序结构(耗散结构)需要系统不断的与外界交换物质和能量才能得以维持并保持一定的稳定性。

2.5.2 耗散结构形成条件

  • 自动从无序状态形成并维持在时间上、空间上或功能上的有序结构状态。

  • 系统必须是开放的
  • 系统需要保持远离平衡态
  • 系统内部存在着非线性相互作用
  • 系统存在涨落

2.5.3 集群系统本身满足耗散结构要求

①与系统外的能量、物质和信息的交换

②节点负载是被有效均衡的,系统的均衡状态是一种熵值较低的远离平衡态的状态

③系统内具有海量节点高耦合,节点间中存在着频繁的计算迁移、存储迁移、计算备份、存储备份、节点失效处理等节点间的高耦合性操作,系统内部存在着大量的相互作用,系统内部存在着非线性相互作用。④系统内各种参数会随着外部请求的变化出现涨落。

第三章 虚拟化技术

3.1 虚拟化描述

① 虚拟化对象 在计算机中,服务器、计算机硬件资源为虚拟化技术的主要对象,虚拟化的对象包括计算机的基础设施、系统和软件。

② 虚拟化过程 对计算机实现抽象方法,屏蔽计算机物理层运动复杂性,抽象转换物理资源,实现由计算机物理层向计算机逻辑层转变。

③ 虚拟化结果 通过对资源的虚拟化,并对其提供相应的规范 化的接口来实现资源的输入和输出,便于用户高效 应用此类资源。

的发展,促进了云计算技术的产生和发展

3.2 虚拟化技术分类

3.2.1 指令集架构级虚拟化

指令集架构级虚拟化是指操作系统不借助硬件,使用软件方法将指令集作为虚拟化目标,脱离实际进行的程序 ,模拟相关指令集并执行 。 如:Bochs、VLIW。

3.2.2 硬件抽象层虚拟化

计算机将虚拟资源向物理资源的映射,通过对硬件进行虚拟化,并使用真实的物理硬件于操作系统中,使抽象层运行结果近似于物理层运行结果, 并服务于用户操作系统。硬件抽象层的虚拟机支持多种的操作系统及相关应用程序,用户端可在此基础上使用其他平台的操作系统。该技术实现了操作系统的高度隔离性,并有效降低了操作风险,且方便的操作方式更易于维护。

3.2.3 操作系统层虚拟化

操作系统以原系统为模板,利用分隔用户操作系统的特殊部分的方法来产生操作系统彼此间相 互独立的操作执行环境,各独立操作系统间互不干涉同时又实现对用户操作系统内核和计算机硬件资源的集群共享,实现了操作系统与应用分隔,使物理层与逻辑层分隔开来。

3.2.4 编程语言层虚拟化

编程语言层虚拟化通过对应用层的部分功能 进行虚拟化,直接作用与应用层之上,实现特指虚拟化结构体系的多种进程级作业。虚拟机在物理机系统中运行,用户不能对其进行有效感知。如:JVM、 CLR。

3.2.5 库函数层虚拟化

库函数层的虚拟化是指在应用层直接虚拟化操作系统中的应用级库函数的接口,利用应用程序编程接口转换技术做出与操作系统相对应的函数来调用延迟相环,使得应用程序可直接在不同的操作系统中进行存储移动,用户在使用时无需做出相应的更改。如:Wine。

3.2.6 五层对比

3.3 虚拟化技术优势

①可以提高资源利用率:动态调整空闲资源,减小服务器的规模。

②提供相互隔离、高效的应用执行环境:可以在一台物理机上模拟出多个不同、相互之间独立的操作系统。

③简化资源和资源的管理:用户不知道虚拟资源的具体实现,降低了用户与虚拟资源之间的耦合度。

④实现软件和硬件的分离:不同的软件系统通过虚拟机监听器使用底层的硬件资源,实现多个软件系统共享同一个硬件资源。

3.4 虚拟化技术劣势

①可能会使物理机负载过重:多个应用程序全部运行,导致应用程序运行缓慢,甚至系统崩溃。

②升级和维护引起的安全问题:一台物理机上安装多台客户机会导致客户机上安装补丁速度缓慢。

③物理计算机的影响:物理机宕机,所有虚拟机都会影响。

3.5 操作系统虚拟化与硬件虚拟化之间的不同

①操作系统虚拟化虚拟出来的是原系统的副本,而硬件虚拟化虚拟出来的是硬件环境,然后安装系统。

②操作系统虚拟化虚拟出的系统只能是物理操作系统的副本,而硬件虚拟化虚拟的系统可以是不同的系统。

③操作系统虚拟化虚拟出的多个系统有较强的联系,而硬件虚拟化虚拟出的系统是相互独立的。

④操作系统虚拟化虚拟出的系统是虚拟的,性能损耗低;而硬件虚拟系统是在硬件虚拟层上实实在在安装的系统,性能损耗高。

3.6 虚拟化形式

3.7 虚拟机特征

  • 同一性
  • 高效性
  • 受控性

3.8 系统虚拟化

3.8.1 定义

  • 在一台物理计算机系统上虚拟出一台或多台虚拟计算机系统,虚拟计算机系统是指使用虚拟化技术运行在一个隔离环境中,具有完整硬件功能的逻辑计算机系统,包括操作系统和应用程序。这些操作系统之间相互独立,我们一般使用虚拟机的指令集架构与物理计算机系统相同。

3.8.2 优点

:只要另一台计算机提供相同的虚拟硬件抽象层,一个虚拟机就可以无缝地进行迁移。

:可以在一台物理机上虚拟出的多台虚拟机上进行不同的操作,相互之间没有影响。

:一台物理机上可以运行多台虚拟机,一台虚拟机上又可以安装多个操作系统。

:虚拟化层中添加的功能无需了解客户具体语意,实现起来更容易,并且添加的功能具有较高的特权级,不能被客户机绕过。

3.8.3 分类

3.8.3.1 服务器虚拟化

  • (最大价值):在一台物理服务器上虚拟出多个虚拟服务器,每个虚拟服务器执行一项任务。

  • 将一台服务器虚拟成多台服务器。
  • 将多个独立的物理服务器虚拟成一个逻辑服务器。
  • 先将多台物理服务器虚拟成一台逻辑服务器,然后再将其虚拟成多个虚拟环境,也就是多个业务在多个虚拟服务器上运行。

  • :把物理CPU抽象成虚拟CPU,任意时刻一个物理CPU只能运行一个虚拟的CPU指令,每个客户操作系统可以使用一个或多个虚拟CPU,这些客户操作系统之间虚拟CPU的运行相互隔离,互不影响。全虚拟化:解决客户操作系统的特权指令问题。半虚拟化:解决虚拟机执行特权指令的问题。

  • :内存虚拟化是对宿主机的真实物理内存统一管理,虚拟化成虚拟的物理内存,然后分别供若干虚拟机使用,使得每个虚拟机拥有各自独立内存空间。引入物理机物理地址空间,应用程序对应的虚拟地址听过客户机OS实现到客户机的物理地址的映射,客户机的物理地址通过VMM(虚拟机监听器)实现到苏主机的物理地址的映射。

  • :I/O虚拟化的第一步是发现设备设备的发现,取决于被虚拟的设备类型;第二步是截获,访问虚拟设备已经发现,此时VMM的工作是使客户机操作系统对其进行访问。网卡:虚拟网卡技术和虚拟网桥技术。

3.8.3.2 桌面虚拟化

  • 依赖于服务器虚拟化,将计算机的桌面与其使用的终端设备像分离,为用户提供部署在云端的远程计算机桌面环境,用户可以使用不同的终端设备,通过网络来访问该桌面环境。

部署在远程服务器上,任何一台满足接入要求的终端设备在任何时间、任何地点都可以进行访问。

**②更低的用户终端配置:**所有的计算都在远程服务器上进行,终端设备主要是用来显示远程桌面内容。

**③更便于集中管理终端桌面:**运营商将所有的桌面管理放在后端的数据中心中,数据中心可以对桌面镜像和相关的应用进行管理、维护。

**④更高的数据安全性:**用户终端设备损坏对数据无影响,虚拟桌面镜像文件受感染,受影响的只是虚拟机,很快的就能达到清除和恢复。

**⑤更低的成本:**简化了用户终端,用户可以选择配置相对较低的终端设备,节省购买成本

**虚拟桌面的解决方案 **

  • 基于虚拟桌面基础架构和基于服务器计算技术,这两种技术方案都是一种端到端的桌面管理解决方案。
3.8.3.3 网络虚拟化

  • (服务器虚拟化的一部分):一般指虚拟专用网,通过一个公用网络,建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全稳定隧道,可以对数据进行几倍加密达到安全使用互联网的目的。

3.9 虚拟化软件

  • VMware Workstation
  • VirtualBox
  • KVM

第四章 虚拟化平台

①基于集群技术的云计算资源整合技术:将分散的计算和存储资源整合输出,主要依托的技术为分布式计算技术。

②基于虚拟机技术的云计算资源切分技术。

4.1 集群系统

4.1.1 集群系统概念

  • 集群系统是一组独立的计算机的集合体,节点将通过高效能的互联网络连接,各节点除了作为一个单一的计算资源供交互使用户使用外,还可以协同工作,并表示一个单一的、集中的计算资源,供并行计算任务使用。集群系统是一种造价低廉、易于构建并且具有较好的可扩放性的体系结构
  • 集群系统是一个互相通过,和共享存储系统相比集群是一种的系统。集群系统现在是实现高性能计算主要方法,集群系统不只是计算的聚集也是存储的聚集。这里所指的分布式系统包括分布式计算和分布式存储。

4.1.2 设计中要考虑的五个关键问题

①可用性:充分利用集群系统中的冗余资源,中间层使集群系统可以提供检查点、故障接管、错误恢复以及所有节点上的容错支持。

②单一系统映像SSI:中间层通过组合各节点上的操作系统提供对系统资源的统一访问。

③作业管理:批处理、负载均衡、并行处理。

④并行文件系统PFS:处理大量数据,进行大量I/O操作。

⑤高效通信:(1)节点复杂度高(2)连接线路长(3)使用标准通信协议下的商品化网络。

4.1.3 集群系统分类

①高可用性集群系统:通过备份节点的使用(节点冗余)来实现的,保证业务不间断服务。

②负载均衡集群系统:所有节点参与工作,通过管理节点或一致性哈希算法实现。

③高性能集群系统:追求计算能力强大,完成复杂的计算任务。

④虚拟化集群系统:把一台物理机虚拟成多台独立的虚拟机使用通过管理软件实现虚拟资源的分配管理。

4.1.4 集群系统特征

①各节点都是一个完整的系统

②互联网络通常使用商品化网络,部分商用集群系统也采用专用网络互联。

③网络接口与节点的I/O总线松耦合相连。

④各节点有一个本地磁盘。

⑤各节点有自己完整的操作系统。

4.1.5 集群一致性

4.1.5.1 定义

一致性要求在对同一个数据进行并发访问时系统能返回相同的结果

4.1.5.2 分类
  • 强─致性∶强一致性系统会在所有副本都完全相同后才返回,系统在未达到一致时是不能访问的,强一致性能保证所有的访问结果是一致的。
  • 弱一致性:弱一致性系统中的数据更新后,后续对数据的读取操作得到的不一定是更新后的值。
  • 最终一致性∶最终一致性允许系统在实现一致性前有一个不一致的窗口期,窗口期完成后系统最终能保证一致性。

4.1.6 集群文件系统优点

  • 利用集群文件系统可以将计算任务在数据的存储节点位置发起,从而避免了数据在网络上传输所造成的拥塞。
  • 集群文件系统可以充分利用各节点的物理存储空间,通过文件系统形成一个大规模的存储池,为用户提供一个统一的可弹性扩充的存储空间。
  • 利用集群文件系统的备份策略、数据切块策略可实现数据存储的高可靠性以及数据读取的并行化,提高数据安全性和数据访问效率。
  • 利用集群文件系统可以实现利用廉价服务器构建大规模高可靠性存储的目标,通过备份机制保证数据的高可靠性和系统的高可用性。

4.1.7 大数据系统分类

Flynn分类法:是依据指令流和数据流之间的数目关系来分类的,这一分类方法是Flynn在1972年所提出的,我们可以借鉴Flynn对大数据系统进行分类

  • 单指令单数据系统(Single lnstruction Single Data , SISD )∶每条指令每次只对一个数据集进行操作,即单台串行计算机的工作模式。
  • 单指令多数据系统(Single lnstruction Multiple Data,SIMD )∶同一条指令同时对不同的数据集进行操作。
  • 多指令多数据系统(Multiple Data Single Instruction,MIMD ) 每个处理单元都能单独的执行指令并具有单独的数据集。

4.2 单一系统映像

4.2.1 单一系统映像含义

①单一系统:系统有多个处理器,用户仍把整个系统视为一个单一的系统。

②单一控制:最终用户或系统用户使用的服务都来自只有唯一接口的同一个地方。

③对称性:没有主节点,用户可以从任一个节点上获得集群服务。

④位置透明:用户不用了解真正执行服务的物理设备位置;系统向用户屏蔽了内部的复杂性,云计算系统的使用者只需要面对一个统一的接口就能实现对云计算系统资源的访问。

  • 数据的计算可能是分布式的,但用户看上去是统一计算的,计算的分配是由系统统一进行的。部分大数据系统需要用户对计算进行切分,但用户不用考虑具体的物理节点分配问题。
  • 集群系统的高可用性冗除余、负载均衡一致性问题对于用户是不可见的,由系统自动完成。
  • 数据在系统中可能是分布式存储,但对于用户视角而言只有一个逻辑存储区域,用户不用关心数据物理在是存储在哪一个节点上的。

4.2.2 单一系统映像好处

①终端用户不需要了解应用在哪些节点上运行。

②操作员不需要了解资源所在位置。

③降低了操作员错误带来的风险,使系统对终端用户表现出更高的可靠性和可用性。

④可以灵活的采用分布式和集中式的管理或控制,避免了对系统管理员的高要求。

⑤大大简化了系统的管理,一条命令就可以对分布在系统中的多个资源进行操作。

⑥提供了位置独立的消息通信。

4.3 SMP、MPP、集群对比

4.4 Beowulf系统

4.4.1 Beowulf定义

贝奥武夫机群是一种高性能的并行计算机集群结构,通常是由一台主节点和一台以上的子节点通过以太网或其他网络连接的系统,它采用市面上可以购买的普通硬件(例如装有Linux的PC)、标准以太网卡和交换机,它不包含任何特殊的硬件设备,可以重新组建。特点是使用廉价的个人电脑硬件组装以达到最优的性能/价格比。

4.4.2 Beowulf特点

  • 通常有一个管理节点和多个计算节点构成,它们通过以太网连接。管理节点监控计算节点,通常也是计算节点的网关和控制终端,当然也通常是集群系统的文件服务器。
  • 由最常见的硬件设备组成。
  • 采用那些廉价且广为传播的软件。

4.4.3与其他并行计算机对比

  • 价格低廉
  • 系统扩展性好
  • 高可用性
  • 系统连接简单
  • 灵活性高

4.4.4 并行计算的层次

一个数据分析任务能被切分为多个相互之间独立的计算任务并被分配给不同的节点进行处理,这种并行就叫程序级并行。程序级并行是一种粗粒度的并行,一个问题能实现程序级的并行意味着这个问题很容易在集群中被执行,并且由于被切分的任务的独立的,子问题之间所需要的通讯代价也是非常小的,不需要在集群节点间进行大量的数据传输。程序级并行中的各个计算任务可以被认为是没有任何计算关联和数据关联的任务,其并行性是天然的、宏观的。

一个程序可以被分为多子程序任务并被集群并行执行,最后通过合并结果得到最终结果,这称为子程序并行。子程序级并行是对程序级并行的进一步分解,粒度比程序级并行小,以切分数据为基础的一些批处理大数据系统可以被认为属于子程序级的并行。如Hadoop系统数据被切分后被预先存储与集群中的分布式文件系统,各子程序被分配到节点,完成计算后利用归约过程实现数据的合并。这类面向数据的并行计算可以被较为容易的实现,并能实现自动化并行化。子程序级并行是在大数据系统中实现并行计算的主要层次。

4.5集群文件

4.5.1 定义

  • 集群文件系统将系统中每个节点上的存储空间进行虚拟的整合,形成一个虚拟的全局逻辑目录,集群文件系统在进行文件存取时依据逻辑目录按文件系统内在的存储策略与物理存储位置对应,从而实现文件定位。(存储与逻辑映射、逻辑与物理的映射)。

4.5.2 集群文件系统的优点

  • 自身维护着逻辑目录和物理存储位置的对应关系,可以将计算任务在数据的存储节点发起。
  • 充分利用各节点的物理存储空间,为用户提供一个统一的可弹性扩充的存储空间。
  • 利用备份策略、数据切块策略可以实现数据存储的高可靠性以及数据读取的并行化。
  • 利用廉价服务器构建大规模、高可靠性存储,保证系统的高可用性。

4.6 Lustre集群文件系统

4.6.1 定义

  • 高性能分布式存储领域中最著名的系统,适合并发不是很高但数据量很大的云平台;是基于对象的存储系统,是一个安全可靠、易于管理的大量级高性能存储系统。

4.6.2 组成及功能

元数据服务器(Metadata Server , MDS)负责管理文件系统的基本信息,负责管理整个系统的命名空间,维护整个文件系统的目录结构用户权限,并负责维护文件系统数据的一致性。

元数据存储节点(Metadata Target , MDT)负责存储元数据服务器所要管理的元数据的文件名、目录、权限和文件布局,一个文件系统有且只能有一个MDT,不同的MDS之间共享同一个MDT。

对象存储服务器(Object Storage Servers , osS)提供针对一个或多个的本地OST网络请求和文件1/O服务,OST、MDT和Client可以同时运行在一个节点。但是典型的配置是一个MDT专用一个节点,每个oSS节点可以有两个或多个OST,一个客户端可以有大量的计算节点。

OST(Object Storage Target , OST)负责实际数据的存储,处理所有客户端和物理存储之间的交互·这种存储是基于对象的,OST将所有的对象数据放到物理存储设备上,并完成对每个对象的管理。

客户端( Client)通过标准的POSIX接口向用户提供对文件系统的访问。

4.6.3 Lustre优点:

  • 提供高性能传输的数据共享,具备并行访问的能力;在数据高并发时,进行负载均衡;元数据所走的网络和文件数据走的网络不同。
  • 弹性扩充系统存储容量,增加节点数来扩充网络带宽,具备灵活扩展性。
  • 元数据服务器采用Active-Standby(主备方式),当一台服务器坏了,马上切换到另一个服务器。
  • 提供接口给用户二次开发,并且开源。

4.6.4 Lustre缺点:

  • 只能部署在Linux系统上,核心程序很依赖LinuxOS的内核和底层文件的操作方法。
  • 服务器故障切换利用第三方心跳技术(heartbeat),包括心跳监测(互发报文来确定当前状态)和资源接管。
  • 本身不具备数据自备份的能力(要程序员手动备份)。

4.7 分布式系统中计算和数据的协作机制

4.7.1 基于计算切分的分布式计算

标签: 微型可伸缩传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台