《云计算课堂讨论题》由会员分享,可在线阅读,更多相关《云计算课堂讨论题(5页珍藏版)》请在金锄头文库上搜索。
1、2018.5.171、如何理解分布式系统中的CAP定理?(一致性、可用性、分区容错性)CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency( 致性)、Availability(可用性)、Partition toleranee (分区容错性),三者不可得兼。一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有 节点访问同一份最新的数据副本),换句话就是说,任何时刻,所用的应用程序都能访问得 到相同的数据。可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性),换句话就是说,任何时候,任何应用程序都
2、可以读写数据。 分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限 内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择, 换句话说,系统可以跨网络分区线性的伸缩和扩展。2、云计算平台 (系统)的核心技术是虚拟化技术、服务计算(功能服务化、按需服务、按需收费)、分布式技术(分布式存储、分布式计算一分而治之)。如何理解?虚拟化是云计算最重要的核心技术之一,它为云计算服务提供基础架构层面的支撑,是ICT 服务快速走向云计算的最主要驱动力。从技术上讲,虚拟化是一种在软件中仿真计算机硬件, 以虚拟资源为用户提供服务的计算形式。旨在合理调配计算机资
3、源,使其更高效地提供服务。 它把应用系统各硬件间的物理划分打破,从而实现架构的动态化,实现物理资源的集中管理 和使用。虚拟化的最大好处是增强系统的弹性和灵活性,降低成本、改进服务、提高资源利 用效率。服务计算(Service Compu ting)泛指以服务及其组合为基础构造应用这一新开 发范型相关的方法、技术、规范、理论和支撑环境分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置 服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。3、Hadoop是开源(opensource)的云计算实现系统。你如何认识开源产品和闭源产品? 开源是一种生
4、产软件和发布软件的方法。它只是一个执行的范例。开源意味着没 有使用费用;只要在几个规则下,你就可以随意使用,其中包括的发布规则在开 源使用说明中已有描述。与闭源代码产品(如Oracle公司或尤其是微软公司)不 同,其使用许可并不复杂。使用真正的开源代码,你可以得到使用许可证移动性, 这意味着云计算使用许可中的一切。4、Hadoop系统主要有哪四大模块?相互关系如何?作为计算机类专业人士,如何利用好Hadoop提供的编程接口进行Hadoop平台上的二次开发?Hadoop架包括以下四个模块:(p182)Hadoop Common这些是其他Hadoop模块所需的Java库和实用程序。这些库提供文件系
5、统和操作系统级抽象。井包含启动Hadoop所需的Java文件和脚本。Hadoop YARN这是一个用于作业调度和集群资源管理的框架。Hadoop Distributed File System (HDFS )分布式文件系统,提供时应 用程序数据的高吞吐量访间。Hadoop MapReduce 这是基于 YARN 的用于并行处理大数据集的系统。编程接口 :(p202)2018.5.241、Hadoop20主要有哪些主要组件?记住主要的六个组件的功能。 HDFS :如果您希望有4000多台电脑处理您的数据,那么最好将您的数据分发给4000多台 电脑。HDFS可以帮助您做到这一点。HDFS有几个可以
6、移动的部件。Datanodes存储数据,Na menode跟踪存储的位置。还有其他部件,但这些已经足以使您开始了。 MapReduce :这是一个面向Hadoop的编程模型。有两个阶段,毫不意外,它们分别被称为 Map和Reduce。如果希望给您的朋友留下深刻的印象,那么告诉他们,Map和Reduce阶段之间有一个随机排序。JobTracker管理您的MapReduce作业的4000多个组件。TaskTracker 从JobTracker接受订单。如果您喜欢Java,那么用Java编写代码。如果您喜欢SQL或Java 以外的其他语言,您的运气仍然不错,您可以使用一个名为Hadoop Strea
7、ming的实用程序。 Hive和Hue :如果您喜欢SQL,您会很高兴听到您可以编写SQL,并使用Hive将其转换 为一个MapReduce作业。不,您不会得到一个完整的ANSI-SQL环境,但您的确得到了 4000 个注释和多PB级的可扩展性。Hue为您提供了一个基于浏览器的图形界面,可以完成您的Hive 工作。 Pig:个执行MapReduce编码的更高层次的编程环境。Pig语言被称为Pig Latin。您可能 会发现其命名约定有点不合常规,但是您会得到令人难以置信的性价比和高可用性。 Oozie :管理Hadoop工作流。这并不能取代您的调度程序或BPM工具,但它在您的Hado op作业
8、中提供f-then-else分支和控制。 HBase : 一个超级可扩展的键值存储。它的工作原理非常像持久的散列映射(对于Python爱好 者,可以认为是词典)。尽管其名称是HBase,但它并不是一个关系数据库。 Zookeeper :用于管理集群的同步性。2、Hadoop部署版分为社区版和商用版(稳定版),有何区别?主要是商用版有哪些? 社区版 Hadoop:Apache 发布的一款支持数据密集型分布式应用并以 Apache2.0 许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序 商用版Hadoop:第三方公司在社区版Hadoop基础上进行了一些修改、整合以及 各个
9、服务组件兼容性测试; 当前hadoop的发行版本除了 Apache的开元版本之外,华为发行版、In tel发行版 以及Cloudera发行版等。免费的发行版则主要是国外的,比如Apache的发行版、Cl oudera 发行版等。3、Zookeeper组件功能如何?工作原理如何?(p223)4、Zooleeper、Hbase、Hive组件都提供了常用的两种实验方法:Shell接口和编程接口。 请举例说明。 (p225,p230,p237)2018.5.31在计算机中,虚拟化(Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务 器、网络、内存及存储等,予以抽象、转换
10、后呈现出来,打破实体结构间的不可切割的障碍,使用户可以 比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物 理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低 的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件。1、比较VMware、Xen等虚拟化产品的关键技术,以及对云计算技术提供的支持。Xen是一个开放源代码虚拟机监视器,由剑桥大学开发。Xen的缺点是操作系统必须进行 显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性),所以比较麻
11、烦。 使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。Linux的官方内核在较早之前已经 去掉了对Xen的支持。VMWare (Virtual Machine ware)是一个“虚拟PC”虚拟机管理管理软件。它的产品可以使 你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与多启动”系统相比, VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换 时需要重新启动机器。VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象 标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不 影响真实硬盘的数据,
12、你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方 便。安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少,因此,比较适合 学习和测试。是否开源是否免费性能优点缺点XEN是 是 高1性能较好。2.开源、免费操作复杂,维护成本较高,目前已被RedHat抛弃VMWare 否 否一般相对比较成熟的商业软件,市场占有率较 大不开源,需要付费2、服务器虚拟化有哪些主要底层实现技术? (p252)3、 虚拟机迁移的作用?简述虚拟机迁移的主要步骤。(p253)4、主要的开源虚拟化平台有哪些?你准备选择哪一个作为重点学习和构建云计算平台?AbiCloud企业级开源云计算平台、Eucaly
13、ptus开源云计算平台、10genMongoDB开源 高性能存储平台、.Enomalism弹性计算平台、云计算平台Nimbus、OpenStack开源虚拟化平台(p269)2018.6.071、Openstack 是什么?(p269)OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工 作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、 丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即 服务(laaS)的解决方案,每个服务提供API以进行集成。2、Nova、Swift、Glance 三者各是
14、什么?有什么关系?(p272、 p282、 p291)关系:( P291)3、什么是分布式系统中的 CAP 定理?数据一致性模型有 几大类?如何实现 最终一致 性?一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有 节点访问同一份最新的数据副本),换句话就是说,任何时刻,所用的应用程序都能访问得 到相同的数据。可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对 数据更新具备高可用性),换句话就是说,任何时候,任何应用程序都可以读写数据。分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限 内达成数据一致性
15、,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择, 换句话说,系统可以跨网络分区线性的伸缩和扩展。常用的一致性模型有:a、严格一致性b、顺序一致性c、因果一致性d、管道一 致性e、弱一致性f、释放一致性g、最终一致性h、delta consistency 最终一致性的几种具体实现:1、读不旧于写一致性2、会话一致性(3、单读一致性4、单写一致性5、写不 旧于读一致性4、什么叫守护进程(daemon) ?什么叫Hypervisor ?守护进程(daemon)介绍守护进程,也称为精灵进程,是一种运行在后台的特殊进程,它 不存在控制终端,并周期性地执行某项任务或等待处理某项任务。Hyp
16、ervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和 应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调 访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor)。Hypervisor是所有虚拟化技术的核心。非中断地支持多工作负载迁移的能力是Hypervisor 的基本功能。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、 CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。相比于行存储,列存储有哪些特点优点是针对某个列中的值进行简单查询的速度非常快,需要的内部存储资源最少。这表示对 某个列中特定值的搜索可以直接