将较小的节点添加到伪分布的nutch / hadoop集群

我有nutch / hadoop伪分布式运行良好。 我想添加处理能力,通过添加比主(小于3倍小)更便宜,当然更便宜的新节点。

由于默认的HDFS复制为3,所以在平衡数据后我不会得到更多的空间,这不是我首先关心的。

我还有更多的处理能力吗?

我不明白map / reduce任务如何对付复制。 它是如何决定哪个节点从不同副本中取出的。

你将不得不从你的伪群集设置移动到群集设置,通过添加更多的节点,你的确可以获得更多的持续性,也就是说,你将能够处理更多的地图并减less任务。 持续成长如你所预期的那样增长是线性的。

复制将确定每个HDFS块的群集中存在的复制数量。 所以我们假设你有一个被分割成6个块的文件,为了复制3个块,18个块将被分散到你的簇中。 越高的覆盖范围得到越多的节点,因此当开始地图阶段时,数据节点之间的数据传输就会减less。 为了回答您的最终问题,Hadoop将一直试图将映射任务分配给作为datanode的节点,以便input这些映射任务。 所以在这种情况下,复制将使这个任务更容易,因为会有更多的tasktracker可供select。

你的问题有点混乱 如果以伪分布模式运行,则所有四个进程(JobTracker,NameNode,DataNode,TaskTracker)都在同一个(通常是开发)系统上启动。

伪分布式的Hadoop xxx-site.xmlconfiguration已经与本地主机通话,因此添加新的节点将不起作用。

除此之外,如果您要添加更多的节点,并且这些节点同时运行DataNode和TaskTracker,那么您将获得增加的存储和CPU容量。

请注意,当您填满HDFS时,如果所有较小的节点都处于能力状态,最终3x复制将不可能,因此您将开始收到警告/错误。