2

如何更改数据节点的数量,即禁用和启用某些数据节点以测试可扩展性?更清楚一点,我有 4 个数据节点,我想用 1、2、3 和 4 个数据节点来一一试验性能。是否可以只更新namenode中的从属文件?

4

2 回答 2

2

临时停用节点的正确方法:

  1. 创建一个“排除文件”。这会列出您希望删除的主机,每行一个。
  2. 设置dfs.hosts.excludemapred.hosts.exclude到这个文件的位置。
  3. hadoop dfsadmin -refreshNodes通过执行和更新namenode和jobtrackerhadoop mradmin -refreshNodes
  4. 这将开始退役过程。过去在这些节点上复制的所有数据都将从这些节点上复制到其他节点上。您可以通过 Web UI 检查进度。

请注意,这些节点不会像您一样立即用于 MR 作业,hadoop mradmin -refreshNodes但它们仍会保存数据,因此您可能会吃掉一些网络延迟,否则如果您在退役完成之前运行某些东西就不会这样做。所以对于一个完全真实的测试,你应该等到它完成。

要重新添加节点,只需从排除文件中删除它们并再次执行 -refreshNodes 命令。

于 2012-09-20T20:55:09.083 回答
0

从属文件仅用于 start-dfs 之类的脚本,如果您不使用这些脚本,可以将其忽略。因此,您可以将其留空并通过打开/关闭将数据节点添加/删除到集群。

于 2012-09-20T08:32:13.657 回答