单节点与多节点上的 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
文件。
当然,您应该在更改之前停止集群,然后再重新启动。
嘿,我已经为 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
文件。
当然,您应该在更改之前停止集群,然后再重新启动。