***
专业资料整理分享
完美 WORD格式编辑
***
***
专业资料整理分享
57.MapReduce中有这样一个原则 : 移动计算比移动数据更经济。试述什么是本地
计算,并分析为何要采用本地计算。 答:
MapReduce设计的一个理念就是“计算向数据靠拢”,而不是“数据向
计算靠拢”, 因为移动数据需要大量的网络传输开销, 尤其是在大规模数据环境 下,这种开销尤为惊人,所以,移动计算要比移动数据更加经济。
本地计算:在一个集群中,只要有可能, MapReduce框架就会将 Map程序就近地 在 HDFS数据所在的节点运行,即将计算节点和存储节点放在一起运行,从而减 少了节点间的数据移动开销。
58. 试说明一个 MapReduce程序在运行期间,所启动的 Map任务数量和
Reduce 任务数量各是由什么因素决定的。
59. 是否所有的 MapReduce程序都需要经过 Map和Reduce这两个过程 ?如果不是,
请举例说明。
答:不是。 对于关系的选择运算,只需要 检测是否是满足条件的所需元组,
Map过程就能实现, 对于关系 R 中的每个元组 t,
如果满足条件, 则输出键值对 <,>, 也就是说, 键和值都是
t 。这时的 Reduce 函数就只是一个恒等式,对输入不做任何变换就直接输出。
完美 WORD格式编辑
***
***
专业资料整理分享
60. 试分析为何采用 Combiner 可以减少数据传输量 ?是否所有的 MapReduce程序 61.都可以采用 Combiner?为什么?
答: (Sort
对于每个分区内的所有键值对,后台线程会根据
key 对它们进行内存排序
), 排序是 MapReduce 的默认操作。 排序结束后, 还包含一个可选的合并 (Combine )
Combiner 函数,就不用进行合并操作。如果用户事先定义
操作。如果用户事先没有定义
了 Combiner 函数,则这个时候会执行合并操作,从而减少需要溢写到磁盘的数据量。
所谓“合并”, 是指将那些具有相同 key 的
加起来, 比如, 有
<*xmu\减
不过,并非所有场合都可以使用 Combiner, 因为, Combiner 的输出是 Reduce 任务的输
人,Combiner 绝不能改变 Reduce 任务最终的计算结果,一般而言,累加、最大值等场景可 以使用合并操作。
62.MapReduce程序的输入文件、输出文件都存储在 HDFS中,而在 Map任务完成
时的中间结果则存储在本地磁盘中。试分析中间结果存储在本地磁盘而不是 HDFS上有何优缺点。
答:
第八章
1、试述在 Hadoop推出之后其优化与发展主要体现在哪两个方面。
答:Hadoop对 MapReduce和 GDFS的许多方面做了有针对性的改进提升。
2、试述 HDFS1.0中只包含一个名称节点会带来哪些问题。
完美 WORD格式编辑
***
***
专业资料整理分享
答:HDFS1.0采用单点名称节点的设计,不仅会带来单点故障问题,还存在可扩 展性、性能和隔离性等问题。
在可扩展性方面,名称节点把整个 HDFS文件系统中的元数据信息都保存在
自己的内存中, HDFS1.0中只有一个名称节点,不可以水平扩展,而单个名称节 点的内存空间是由上限的,这限制了系统中数据块、文件和目录的数目。
在系统整体性能方面,整个 HDFS文件系统的性能会受限于单个名称节点的 吞吐量。
在隔离性方面,单个名称节点难以提供不同程序之间的隔离性,一个程序可 能会影响会影响其他运行的程序。
3、请描述 HDFS HA架构组成组建及其具体功能。
答:在一个典型的 HA集群中,一般设置两个名称节点,其中一个名称节点处于 “活跃”状态,另一个处于“待命”状态。处于活跃状态的名称节点负责对外处 理所有客户端的请求, 而处于待命状态的名称节点则作为备用节点, 保存了足够 多的系统元数据,当名称节点出现故障时提供快速回复能力也就是说, 在 HDFSHA 中,处于待命状态的名称节点提供了“热备份”,一旦活跃名称节点出现故障, 就可以立即切换到待命名称节点,不会影响到系统的正常对外服务。
4、请分析 HDFS HA架构中数据节点如何和名称节点保持通信。
答:在 HDFS联邦中,所有名称节点会共享底层的数据节点存储资源。每个数据 节点要向集群中所有的名称节点注册, 并周期性地向名称节点发送 “心跳” 和块 信息,报告自己的状态,同时也会处理来自名称节点的指令。
完美 WORD格式编辑
***