如果我有一个 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/