单节点与多节点上的 hadoop MapReduce 作业

hadoop MapReduce job on single node Vs Multi node

嘿,我已经为 map reduce 编写了第一个 Java 代码。 我在单个节点上 运行 它。

但我不确定它需要进行哪些更改才能使用多节点 如果有的话,有人可以指导我吗?

一个好的起点是遵循 this tutorial

您应该查看的要点是:

  • /etc/hosts file of each node,在其中添加所有节点的 ip(还要确保你可以 ssh 每个节点没有密码)
  • master节点中的
  • $HADOOP_HOME/conf/masters$HADOOP_HOME/conf/slaves文件,这里添加对应的节点
  • 增加减少任务的数量,以防它是 1 并且你的算法支持它。您可以在主方法中调用 setNumReduceTasks(int n) 方法(有关设置的说明,请参见 here)。
  • 设置复制因子为1(默认为3),利用数据局部性(数据被复制到更多的节点,这样可以节省一些数据传输)。
  • 按照提供的教程中的说明设置 *-site.xml 文件。

当然,您应该在更改之前停止集群,然后再重新启动。