云计算与大数据技术课后习题
第一章 云计算与大数据基础 1.在信息产业的发展历程中。 硬件驱动力,网络驱动力,作为两个重要的内在动力在不同的 时期起着重要的作用 2~5 西摩 克雷 约翰 麦克锡 蒂姆 伯纳斯 李 吉姆 格雷 超级计算机之父 云计算之父 万维网发明人 第一个网页开发者 大数据之父 6. MapReduce 思想来源 LISP 语言 7.按照资源封装层次,云计算分为 Iaas paas saas 三种 8.教材 P2 1.1.2 10. 教材 P8 1.2.2 11. 教材 P10 1.2.3 第二章 云计算与大数据相关技术 1.一致性 hash 算法原理: 哈希算法是一种从稀疏值到紧密值范围的映射方法,在存储和计算定位时可以被看做 是一种路由算法。通过这种路与哦算法文件块能被唯一的定位到一个节点的位置。传统的 hash 算法容错性和扩展性都不好,无法有效的适应面向数据系统节点的动态变化。意思就 是当集群需要增加节点,传统的hash 算法不容易检测到新增加的节点,此为扩展性不好, 而一致性 hash 算法增加一个节点只会影响增加的这个节点到前一个节点之间的数据。容错 性就是如果不幸一个机器C 宕机了,那么机器 B 和 C 之间的数据都会被 D 执行,那么受影响 的数据只是机器 B 和 C 之间的数据。当然,容错性和扩展性对于节点数较多的集群是比较 有意义的,对于节点较少的集群似乎这两个特性并没有什么诱惑力。 一致性 hash 的实际目的就是解决节点频繁变化时的任务分配问题,一致性hash 将整 个 hash 值空间组织成一个虚拟圆环,我们这里假设某hash 函数 H 值空间为 0~(2^32-1), 即 32 位无符号整形。下面简述一下一致性hash 的原理: 这是一致性 hash 的整个值空间 0~(2^32-1) 下一步将各个服务器使用Hash 进行一个哈希,具体可以选择服务器的ip 或主机名作 为关键字进行哈希,这样每台机器就能确定其在哈希环上的位置,假设使用四台机器进行 hash: 将数据 key 使用相同的函数 Hash 计算出哈希值,并确定此数据在环上的位置,从此位 置沿环顺时针“行走”,第一台遇到的服务器就是其应该定位到的服务器。 例如我们有 Object A、Object B、Object C、Object D 四个数据对象,经过哈希计算 后,在环空间上的位置如下: 根据一致性哈希算法,数据A 会被定为到 Node A 上,B 被定为到 Node B 上,C 被定为 到 Node C 上,D 被定为到 Node D 上 下面我们看看当集群机器比较少的情况 例如系统中只有两台服务器,其环分布如下, 此时必然造成大量数据集中到Node A 上,而只有极少量会定位到Node B 上。为了解决 这种数据倾斜问题,一致性哈希算法引入了虚拟节点机制,即对每一个服务节点计算多个 哈希,每个计算结果位置都放置一个此服务节点,称为虚拟节点。具体做法可以在服务器 ip 或主机名的后面增加编号来实现。例如上面的情况,可以为每台服务器计算三个虚拟节 点,于是可以分别计算 “Node A#1”、“Node A#2”、“Node A#3”、“Node B#1”、 “Node B#2”、“Node B#3”的哈希值,于是形成六个虚拟节点: 同时数据定位算法不变,只是多了一步虚拟节点到实际节点的映射,例如定位到“Node A#1”、“Node A#2”、“Node A#3”三个虚拟节点的数据均定位到Node A 上。这样就解 决了服务节点少时数据倾斜的问题。在实际应用中,通常将虚拟节点数设置为32 甚至更 大,因此即使很少的服务节点也能做到相对均匀的数据分布。 2.科学研究的四个范式:观测实验、理论、计算仿真、数据 3.物联网产业链分为:标识,感知,处理,信息传送 4.非关系型数据库分为: (1) Column-Oriented 面向检索的列式存储,其存储结构为列式结构如:Google 的 big table, apache 的 hbase (2) Key-Value 面向高性能的并发读/写的缓存存储,结构类似于Hash 表(hash 算法真的要好好 学,用的地方太多了,性能的确也是最高的),每个 key 分别对应一个 value,这 种数据库适合用来作为缓存系统使用,比如:MemcacheDB,Berkeley DB, redis,flare (3) Document-Oriented 面向海量数据访问的文档存储,这类存储类似key-value 形式,只是 value 主要 以 JSON 或者 XML 等格式进行存储,比如:mongoDB,CouchDB 第三章 虚拟化技术 1.Popek 和 Goldberg 指出:虚拟机具有 同一性,高效性,可控性 2.虚拟化技术从计算机体系结构层次上可分为以下5 类: 指令集架构级虚拟化,硬件抽象 层虚拟化,操作系统层虚拟化,编程语言上的虚拟化,库函数虚拟化 3.常用的虚拟化软件系统有 VirtualBox ,VMware Workstation ,KVM 4.系统虚拟化具有 硬件无关性,隔离性,多实例, ,特权功能等优点。 5.系统虚拟化可分为 服务器虚拟化 桌面虚拟化 网络虚拟化 6.服务器虚拟化按照虚拟化的部分可分为 CPU 虚拟化,内存虚拟化,I/O 虚拟化 7.什么是广义虚拟化技术: 答:虚拟化技术是一种逻辑简化技术, 实现物理层向逻辑层的变化, 对物理层运动复杂性的 屏蔽,是系统对外运动呈现出简单的逻辑运行状态 8 虚拟化技术有哪些优势劣势? 优势:1.虚拟化技术可提高资源利用率 2.提供相互隔离,高效的应用执行环境 3.虚拟化可以简化资源和资源管理 4.虚拟化实现软件和硬件的分离 劣势 1.可能会使物理计算机负载过重 2.升级和维护引起的安全问题 3.物理计算机的影响 第四章 集群系统基础 1.云计算领域存在两个主要技术路线, 一个是基于集群技术的云计算资源整合技术, 一个是 基于虚拟机的云计算资源切分技术 2.集群的设计要考虑 5 个关键的问题是 可用性 单一系统映像 作业管理 并行文件系统 高 效通信 3.传统的集群系统可以分为 高可用性 系统负载均衡 高性能 虚拟化 4 类。 4 简述 Beowulf 系统的主要特点 答:1 Beowulf 系统通常由一个管理节点和多个计算节点构成 2 Beowulf 系统通常用最常见的硬件设备组成 3 Beowulf 系统同城采用哪些廉价且广为传播的软件 5 Lustre 存储系统的组成有 MDS, MDT, OSS, OST, Client 6.简述面向计算分布式系统, 混合分布式系统,面向数据的分布式系统的实现机制, 分析三 种系统的区别. 面向计算分布式系统: P59 4.6.1 混合型分布式系统:P60 4.6.2 面向数据的分布式系统:P61 4.6.3 分析区别:P64 表 4.2 3 中分布式系统的对比 第五章 MPI-面向计算的高性能集群技术 1,什么是 MPI MPI(Message Passing Interface)消息传递接口。它本身不是一个具体的实现,而只是一 种标准描述。 2,MPI 支持 F