Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 运行MapReduce作业时的事件链_Hadoop_Mapreduce - Fatal编程技术网

Hadoop 运行MapReduce作业时的事件链

Hadoop 运行MapReduce作业时的事件链,hadoop,mapreduce,Hadoop,Mapreduce,我正在寻找一些关于在Hadoop集群上运行MapReduce作业时事件链的特定信息 让我们假设我的Reduce任务即将完成。在我的上一个reducer将其输出写入输出文件后,有多少个输出文件的副本? 最后一个reducer完成对输出文件的写入后,会发生什么。NameNode何时请求相应的数据节点复制输出文件?如何通知名称节点输出文件已准备就绪?谁将该信息传递给NameNode 谢谢大家! Reduce任务将输出写入HDFS。它们通过首先与name节点通信以请求一个块来实现这一点。然后,name节

我正在寻找一些关于在Hadoop集群上运行MapReduce作业时事件链的特定信息

让我们假设我的Reduce任务即将完成。在我的上一个reducer将其输出写入输出文件后,有多少个输出文件的副本? 最后一个reducer完成对输出文件的写入后,会发生什么。NameNode何时请求相应的数据节点复制输出文件?如何通知名称节点输出文件已准备就绪?谁将该信息传递给NameNode


谢谢大家!

Reduce任务将输出写入HDFS。它们通过首先与name节点通信以请求一个块来实现这一点。然后,name节点告诉reducer要写入哪些数据节点,然后reducer实际将数据直接发送到第一个数据节点,然后第一个数据节点将数据发送到第二个数据节点,第二个数据节点将数据发送到第三个节点。通常,名称节点将保持事物的本地性,因此第一个数据节点可能是运行reduce任务的同一台机器


一旦reducer完成写入输出,并且数据节点确认了这一点,reducer本身将通过周期性心跳通信通知作业跟踪器它已经完成。

Reduce任务将输出写入HDFS。它们通过首先与name节点通信以请求一个块来实现这一点。然后,name节点告诉reducer要写入哪些数据节点,然后reducer实际将数据直接发送到第一个数据节点,然后第一个数据节点将数据发送到第二个数据节点,第二个数据节点将数据发送到第三个节点。通常,名称节点将保持事物的本地性,因此第一个数据节点可能是运行reduce任务的同一台机器


一旦reducer完成了输出的写入,并且数据节点确认了这一点,reducer本身将通过周期性心跳通信通知作业跟踪器它已经完成。

要了解HDFS复制的基础知识,请阅读HDFS体系结构文档。简而言之,NameNode将尝试使用相同的机架以最小化延迟。

要了解HDFS复制的基础知识,请阅读HDFS体系结构文档。简而言之,NameNode将尝试使用相同的机架以最小化延迟