您的位置:58脚本 > hadoopmapreduce僵死 Hadoop MapReduce

hadoopmapreduce僵死 Hadoop MapReduce

2023-03-15 07:32 Hadoop教程

hadoopmapreduce僵死 Hadoop MapReduce

hadoopmapreduce僵死

Hadoop MapReduce是一种分布式计算框架,它可以处理大量的数据。它的基本原理是将大量的数据分成小块,然后在多台机器上并行处理这些小块数据,最后将结果合并起来。由于MapReduce是一个分布式系统,因此它存在一些问题,其中之一就是僵死。

Hadoop MapReduce 僵死是由于MapReduce任务中出现的问题而导致的。当MapReduce任务中出现问题时,会导致任务无法完成,这就是所谓的“僵死”。例如,当MapReduce任务中出现故障时,会导致任务无法完成。另外,当MapReduce任务中出现性能问题时也会导致任务无法完成。

// 如何避免Hadoop MapReduce 僵死 
1. 避免使用不必要的代码 
2. 避免使用不必要的库 
3. 正确使用MapReduce API 
4. 正确使用HDFS API 
5. 正确使用YARN API 
6. 监控集群性能 
7. 加强测试 
8. 跟踪应用日志 
9. 适当地扩大集群大小 
10. 适当地减少集群大小   

Hadoop MapReduce

简介

一种分布式的计算方式指定一个Map(映#x5C04;)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组

Pattern

map: (K1, V1) → list(K2, V2) combine: (K2, list(V2)) → list(K2, V2) reduce: (K2, list(V2)) → list(K3, V3)

Map输出格式和Reduce输入格式一定是相同的

基本流程

MapReduce主要是先读取文件数据,然后进行Map处理,接着Reduce处理,最后把处理结果写到文件中

详细流程

多节点下的流程

主要过程

Map Side

Record reader

记录阅读器会翻译由输入格式生成的记录,记录阅读器用于将数据解析给记录,并不分析记录自身。记录读取器的目的是将数据解析成记录,但不分析记录本身。它将数据以键值对的形式传输给mapper。通常键是位置信息,值是构成记录的数据存储块.自定义记录不在本文讨论范围之内.

Map

在映射器中用户提供的代码称为中间对。对于键值的具体定义是慎重的,因为定义对于分布式任务的完成具有重要意义.键决定了数据分类的依据,而值决定了处理器中的分析信息.本书的设计模式将会展示大量细节来解释特定键值如何选择.

Shuffle and Sort

ruduce任务以随机和排序步骤开始。此步骤写入输出文件并下载到本地计算机。这些数据采用键进行排序以把等价密钥组合到一起。

Reduce

reduce采用分组数据作为输入。该功能传递键和此键相关值的迭代器。可以采用多种方式来汇总、过滤或者合并数据。当reduce功能完成,就会发送0个或多个键值对。

输出格式

输出格式会转换最终的键值对并写入文件。默认情况下键和值以tab分割,各记录以换行符分割。因此可以自定义更多输出格式,最终数据会写入HDFS。类似记录读取,自定义输出格式不在本书范围。


阅读全文
以上是58脚本为你收集整理的hadoopmapreduce僵死 Hadoop MapReduce全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58脚本 58jiaoben.com 版权所有 联系我们
桂ICP备12005667号-28 Powered by CMS