云计算与大数据技术课后习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章云计算与大数据基础
1.在信息产业的发展历程中。硬件驱动力,网络驱动力,作为两个重要的内在动力在不同的时期起着重要的作用
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