• 欢迎访问显哥博客,本网站纯属学习技术,绝无商业用途,欢迎小伙伴们共同学习!研究技术!QQ:52249909 加我QQ
  • 世界75亿人,这么小的概率,能认识你,是我一生的幸运,不妨加个QQ接触一下:52249909 加我QQ

云计算技术之分布式系统

云计算 lixian 2年前 (2019-10-18) 378次浏览 0个评论 扫描二维码
文章目录[隐藏]

一、解释GFS和HDFS的区别

1.GFS和HDFS都采用单一主控机+多台工作机的模式,由一台主控机(Master)存储系统全部元数据,并实现数据的分布、复制、备份决策,主控机还实现了元数据的checkpoint和操作日志记录及回放功能。
2.GFS最为复杂的部分是对多客户端并发追加同一个文件,即多客户端并发Append模型 。GFS允许文件被多次或者多个客户端同时打开以追加数据,以记录为单位。
而在HDFS中,HDFS文件只允许一次打开并追加数据,客户端先把所有数据写入本地的临时文件中,等到数据量达到一个Chunk的大小(通常为64MB),请求HDFS Master分配工作机及Chunk编号,将一个Chunk的数据一次性写入HDFS文件。
3.GFS通过内部采用copy-on-write的数据结构实现集群快照功能,而HDFS不提供快照功能。在大规模分布式系统中,程序有bug是很正常的情况,虽然大多数情况下可以修复bug,不过很难通过补偿操作将系统数据恢复到一致的状态,往往需要底层系统提供快照功能,将系统恢复到最近的某个一致状态。
HDFS基本可以认为是GFS的简化版,由于时间及应用场景等各方面的原因对GFS的功能做了一定的简化,大大降低了复杂度。

二、叙述MapReduce的主要过程

Map阶段:

Step 1:读取输入文件的内容,并解析成键值对()的形式,输入文件中的每一行被解析成一个对,每个对调用一次map()函数。
Step 2:用户写map()函数,对输入的对进行处理,并输出新的对。
Step 3:对Step 2中得到的进行分区操作。
Step 4:不同分区的数据,按照key值进行排序和分组,具有相同key值的value则放到同一个集合中。
Step 5(可选):分组后的数据进行规约。

Reduce阶段:

Step 1:对于多个map任务的输出,按照不同的分区,通过网络传输到不同的Reduce节点。
Step 2:对多个map任务的输出结果进行合并、排序,用户书写reduce函数,对输入的key、value进行处理,得到新的key、value输出结果。
Step 3:将reduce的输出结果保存在文件中。

三、简述分布式系统主要包括哪些系统

第一种是面向计算任务的分布并行计算机系统和分布式多用户计算机系统
第二种是面向管理信息的分布式数据处理系统
第三种是面向过程控制的分布式计算机控制系统

四、简述Hadoop2.0的架构主要包含哪些组件,各个组件的主要作用是什么

分布式计算引擎:

Hive:它的本质相当一个MapReduce和HDFS的翻译终端。
Sqoop:主要用来在Hadoop和关系数据库中传递数据。

Pig分析平台:

是海量数据的分析工具,也是一种编程语言。

Yarn分布式资源管理:

是资源管理、任务调度的框架,采用主从式架构,实现一个分布式操作系统的功能。

HBase分布式数据库:

具有高可靠性,可伸缩,实时读写的分布式数据库系统,存储功能。

分布式数据存储:HDFS

处理大规模分布式数据的能力,用于海量数据处理,构建大型分布式集群、数据仓库、数据分析、数据挖掘等应用领域。

ZooKeeper分布式协调:

主要负责各个进程之间的协作问题,它是一个开放源码的分布式应用程序协调服务,使用ZooKeeper的协调机制来统一系统的各种状态。


本站博主 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:云计算技术之分布式系统
喜欢 (12)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到