当前位置:文档之家› 云计算课堂讨论题

云计算课堂讨论题

1、如何理解分布式系统中的CAP定理? (一致性、可用性、分区容错性)CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、Availability (可用性)、Partition tolerance(分区容错性),三者不可得兼。

一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。

(等同于所有节点访问同一份最新的数据副本),换句话就是说,任何时刻,所用的应用程序都能访问得到相同的数据。

可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。

(对数据更新具备高可用性),换句话就是说,任何时候,任何应用程序都可以读写数据。

分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。

系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择,换句话说,系统可以跨网络分区线性的伸缩和扩展。

2、云计算平台(系统)的核心技术是虚拟化技术、服务计算(功能服务化、按需服务、按需收费)、分布式技术(分布式存储、分布式计算一分而治之)。

如何理解?虚拟化是云计算最重要的核心技术之一,它为云计算服务提供基础架构层面的支撑,是ICT 服务快速走向云计算的最主要驱动力。

从技术上讲,虚拟化是一种在软件中仿真计算机硬件,以虚拟资源为用户提供服务的计算形式。

旨在合理调配计算机资源,使其更高效地提供服务。

它把应用系统各硬件间的物理划分打破,从而实现架构的动态化,实现物理资源的集中管理和使用。

虚拟化的最大好处是增强系统的弹性和灵活性,降低成本、改进服务、提高资源利用效率。

服务计算(Service Computing)泛指以服务及其组合为基础构造应用这一新开发范型相关的方法、技术、规范、理论和支撑环境分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

3、Hadoop 是开源(opensource)的云计算实现系统。

你如何认识开源产品和闭源产品?开源是一种生产软件和发布软件的方法。

它只是一个执行的范例。

开源意味着没有使用费用;只要在几个规则下,你就可以随意使用,其中包括的发布规则在开源使用说明中已有描述。

与闭源代码产品(如Oracle公司或尤其是微软公司)不同,其使用许可并不复杂。

使用真正的开源代码,你可以得到使用许可证移动性,这意味着云计算使用许可中的一切。

4. Hadoop系统主要有哪四大模块?相互关系如何?作为计算机类专业人士,如何利用好Hadoop提供的编程接口进行Hadoop平台上的二次开发?Hadoop架包括以下四个模块:(p182)Hadoop Common这些是其他Hadoop模块所需的Java库和实用程序。

这些库提供文件系统和操作系统级抽象。

井包含启动Hadoop所需的Java文件和脚本。

Hadoop YARN这是一个用于作业调度和集群资源管理的框架。

Hadoop Distributed File System (HDFS)分布式文件系统,提供时应用程序数据的高吞吐量访间。

Hadoop MapReduce这是基于YARN的用于并行处理大数据集的系统。

编程接口:(p202)1、Hadoop2.0主要有哪些主要组件?记住主要的六个组件的功能。

•HDFS:如果您希望有4000 多台电脑处理您的数据,那么最好将您的数据分发给4000 多台电脑。

HDFS 可以帮助您做到这一点。

HDFS 有几个可以移动的部件。

Datanodes 存储数据,Na menode 跟踪存储的位置。

还有其他部件,但这些已经足以使您开始了。

•MapReduce:这是一个面向Hadoop 的编程模型。

有两个阶段,毫不意外,它们分别被称为Map 和Reduce。

如果希望给您的朋友留下深刻的印象,那么告诉他们,Map 和Reduce 阶段之间有一个随机排序。

JobTracker 管理您的MapReduce 作业的4000 多个组件。

TaskTracker 从JobTracker 接受订单。

如果您喜欢Java,那么用Java 编写代码。

如果您喜欢SQL 或Java 以外的其他语言,您的运气仍然不错,您可以使用一个名为Hadoop Streaming 的实用程序。

•Hive 和Hue:如果您喜欢SQL,您会很高兴听到您可以编写SQL,并使用Hive 将其转换为一个MapReduce 作业。

不,您不会得到一个完整的ANSI-SQL 环境,但您的确得到了4000 个注释和多PB 级的可扩展性。

Hue 为您提供了一个基于浏览器的图形界面,可以完成您的Hive 工作。

•Pig: 一个执行MapReduce 编码的更高层次的编程环境。

Pig 语言被称为Pig Latin。

您可能会发现其命名约定有点不合常规,但是您会得到令人难以置信的性价比和高可用性。

•Oozie:管理Hadoop 工作流。

这并不能取代您的调度程序或BPM 工具,但它在您的Hado op 作业中提供if-then-else 分支和控制。

•HBase:一个超级可扩展的键值存储。

它的工作原理非常像持久的散列映射(对于Python 爱好者,可以认为是词典)。

尽管其名称是HBase,但它并不是一个关系数据库。

•Zookeeper:用于管理集群的同步性。

2、Hadoop部署版分为社区版和商用版(稳定版),有何区别?主要是商用版有哪些?•社区版Hadoop:Apache发布的一款支持数据密集型分布式应用并以Apache2.0许可协议发布的开源软件框架。

它支持在商品硬件构建的大型集群上运行的应用程序;•商用版Hadoop:第三方公司在社区版Hadoop基础上进行了一些修改、整合以及各个服务组件兼容性测试;•当前hadoop的发行版本除了Apache的开元版本之外,华为发行版、Intel发行版以及Cloudera发行版等。

免费的发行版则主要是国外的,比如Apache的发行版、Cl oudera发行版等。

3、Zookeeper 组件功能如何?工作原理如何?(p223)4、Zooleeper、Hbase、Hive组件都提供了常用的两种实验方法:Shell接口和编程接口。

请举例说明。

(p225,p230,p237)在计算机中,虚拟化(Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。

这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。

一般所指的虚拟化资源包括计算能力和资料存储。

在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件。

1、比较VMware、Xen等虚拟化产品的关键技术,以及对云计算技术提供的支持。

Xen是一个开放源代码虚拟机监视器,由剑桥大学开发。

Xen的缺点是操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性),所以比较麻烦。

使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。

Linux的官方内核在较早之前已经去掉了对Xen的支持。

VMWare (Virtual Machine ware)是一个“虚拟PC”虚拟机管理管理软件。

它的产品可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。

与“多启动”系统相比,VMWare采用了完全不同的概念。

多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。

VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换。

而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。

安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少,因此,比较适合学习和测试。

是否开源是否免费性能优点缺点XEN 是是高 1.性能较好。

2.开源、免费操作复杂,维护成本较高,目前已被RedHat抛弃VMWare 否否一般相对比较成熟的商业软件,市场占有率较大不开源,需要付费2、服务器虚拟化有哪些主要底层实现技术?(p252)3、虚拟机迁移的作用?简述虚拟机迁移的主要步骤。

(p253)4、主要的开源虚拟化平台有哪些?你准备选择哪一个作为重点学习和构建云计算平台?AbiCloud企业级开源云计算平台、Eucalyptus开源云计算平台、10genMongoDB 开源高性能存储平台、.Enomalism弹性计算平台、云计算平台Nimbus、OpenStack开源虚拟化平台(p269)1、Openstack是什么?(p269)OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。

OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。

OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。

2、Nova、Swift、Glance 三者各是什么?有什么关系?(p272、p282、p291)关系:(P291)3、什么是分布式系统中的CAP定理?数据一致性模型有几大类?如何实现最终一致性?一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。

(等同于所有节点访问同一份最新的数据副本),换句话就是说,任何时刻,所用的应用程序都能访问得到相同的数据。

可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。

(对数据更新具备高可用性),换句话就是说,任何时候,任何应用程序都可以读写数据。

分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。

系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择,换句话说,系统可以跨网络分区线性的伸缩和扩展。

常用的一致性模型有:a、严格一致性b、顺序一致性c、因果一致性d、管道一致性e、弱一致性f、释放一致性g、最终一致性h、delta consistency最终一致性的几种具体实现:1、读不旧于写一致性2、会话一致性(3、单读一致性4、单写一致性5、写不旧于读一致性4、什么叫守护进程(daemon)? 什么叫Hypervisor ?守护进程(daemon)介绍守护进程,也称为精灵进程,是一种运行在后台的特殊进程,它不存在控制终端,并周期性地执行某项任务或等待处理某项任务。

相关主题