MapReduce实现报告-容错

简介: MapReduce实现报告-容错

MapReduce的容错

mapreduce常用语大数据处理,需要在集群中利用多台机器一起工作,所以必须能够有容错能力,能从容的处理突发的机器状况

worker Failure

master会定期的对所有worker发送请求,像心跳机制,虽然都是leader或者master发送但是raft里面的心跳是leader发送给所有follower告知他们我有心跳,防止follower发起leader选举,而mapreduce做的是,leader需要确定所有的worker是否有心跳。如果没有收到worker的响应,则标记worker为失败状态。worker如果完成了map的工作就会重置为空闲状态,因此就可以在其他worker上进行调度。正在做map或者reduce任务的work如果被记为失败(响应失败,无法响应心跳,但是不影响自己的工作),也会被master重置空闲状态,可以重新调度。

已完成map工作的work,如果被记为失败,则会重新执行,因为他们的输出存储在故障机器的磁盘上,如果不能响应master的心跳,那么master也无法访问该数据了,所以需要重新跑。

但是完成了reduce工作的不需要重新执行,因为他们的输出存储在全局的文件系统中。

假设map任务首先由worker A执行,A被标记为失败,调度器将任务发给worker B,那执行reduce任务的worker就会被通知需要重新跑reduce。新的reduce任务都会从work B读取数据。

MapReduce对大规模的宕机也有弹性,比如再一次MapReduce工作中,一次网络维护导致了上百台机器在几分钟内无法访问,MapReduce的master只会简单的重新执行无法访问的worker的工作,并继续向前推进,最终完成MapReduce。

master Failure

master可以写周期性的检查点,就是存档,如果master宕机,可以从最后一个检查点开一个新的副本,但是mapreduce只有一个master,也不会选举,如果master失败,在现实中就会终止MapReduce的计算。客户端只能重试MapReduce操作。


相关文章
|
7月前
|
分布式计算 Hadoop
Hadoop系列 mapreduce 原理分析
Hadoop系列 mapreduce 原理分析
84 1
|
7月前
|
存储 分布式计算 负载均衡
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
234 0
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
101 3
|
6月前
|
分布式计算 Hadoop Java
Hadoop MapReduce编程
该教程指导编写Hadoop MapReduce程序处理天气数据。任务包括计算每个城市ID的最高、最低气温、气温出现次数和平均气温。在读取数据时需忽略表头,且数据应为整数。教程中提供了环境变量设置、Java编译、jar包创建及MapReduce执行的步骤说明,但假设读者已具备基础操作技能。此外,还提到一个扩展练习,通过分区功能将具有相同尾数的数字分组到不同文件。
65 1
|
6月前
|
数据采集 SQL 分布式计算
|
7月前
|
分布式计算 Hadoop Java
Hadoop MapReduce 调优参数
对于 Hadoop v3.1.3,针对三台4核4G服务器的MapReduce调优参数包括:`mapreduce.reduce.shuffle.parallelcopies`设为10以加速Shuffle,`mapreduce.reduce.shuffle.input.buffer.percent`和`mapreduce.reduce.shuffle.merge.percent`分别设为0.8以减少磁盘IO。
76 1
|
7月前
|
分布式计算 并行计算 搜索推荐
Hadoop MapReduce计算框架
【5月更文挑战第10天】HadoopMapReduce计算框架
61 3
|
6月前
|
存储 分布式计算 Hadoop
Hadoop生态系统详解:HDFS与MapReduce编程
Apache Hadoop是大数据处理的关键,其核心包括HDFS(分布式文件系统)和MapReduce(并行计算框架)。HDFS为大数据存储提供高容错性和高吞吐量,采用主从结构,通过数据复制保证可靠性。MapReduce将任务分解为Map和Reduce阶段,适合大规模数据集的处理。通过代码示例展示了如何使用MapReduce实现Word Count功能。HDFS和MapReduce的结合,加上YARN的资源管理,构成处理和分析大数据的强大力量。了解和掌握这些基础对于有效管理大数据至关重要。【6月更文挑战第12天】
259 0
|
6月前
|
分布式计算 Java Hadoop
简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行
简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行
61 0
|
6月前
|
分布式计算 Hadoop Java
使用Hadoop MapReduce分析邮件日志提取 id、状态 和 目标邮箱
使用Hadoop MapReduce分析邮件日志提取 id、状态 和 目标邮箱
100 0

相关实验场景

更多