java - Hadoop的Reducer运行在哪台机器上

标签 java hadoop mapreduce hdfs bigdata

如果我有一个 4 节点集群,其中 1 台机器是名称节点,其余 3 台机器是数据节点,如果我将 reducer 的数量设置为 1,那么哪个数据节点将运行 reducer?

最佳答案

namenode 和datanode 是HDFS 进程而不是MapReduce。我假设您有 3 个任务跟踪器节点。其中一个将运行它。不能保证是哪一个。 Hadoop 通常将计算移动到它需要的数据附近,但对于 reducer,它们是从映射器而不是 HDFS 中提取数据。你可以说 Hadoop 更喜欢一个负载较少的节点,它至少有一个 reduce slot。

关于java - Hadoop的Reducer运行在哪台机器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11272264/

相关文章:

MongoDB增量mapReduce,仅选择新文档,在上次mapReduce之后添加

java.lang.Exception : java. io.IOException:设置 hadoop 和 hbase 时值类错误

hadoop - Mapreduce 中的 block

hadoop - 为什么 Hadoop shuffle 没有按预期工作

hadoop - HBase 区域服务器在 tsv 导入时不断崩溃

python - MRJob确定是运行内联,本地,emr还是Hadoop

java - 将 JTable 用作 JList

java - Android - 从路径中删除行

java - Java Regex 中的声明差异?

java - Jackson 为同一类提供多个 ObjectMapper