如何将新节点添加到实时hbase / hadoop集群?

时间:2012-04-23 14:47:53

标签: hadoop hbase hdfs

我运行一些批处理作业,数据输入不断变化,我遇到配置容量问题。我正在使用旋转进行初始设置但是一旦我开始,例如,5台机器我不知道如何在它运行时添加新机器。我事先不知道数据有多复杂或多大,所以我想知道是否有办法将新机器添加到集群中并使其立即生效(或者有一些延迟但不想必须关闭群集并使用新节点启动它。

2 个答案:

答案 0 :(得分:10)

有关如何添加节点的确切说明: http://wiki.apache.org/hadoop/FAQ#I_have_a_new_node_I_want_to_add_to_a_running_Hadoop_cluster.3B_how_do_I_start_services_on_just_one_node.3F

同时 - 我不确定已经运行的作业是否会利用这些节点,因为计划在作业开始时间内运行每个任务的位置(据我所知)。
我还认为仅在这些瞬态节点上运行任务跟踪器更为实际。

答案 1 :(得分:3)

检查以下参数引用的文件:

  • dfs.hosts => dfs.include
  • dfs.hosts.exclude
  • mapreduce.jobtracker.hosts.filename => mapred.include
  • mapreduce.jobtracker.hosts.exclude.filename

您可以将主机列表添加到文件dfs.include和mapred.include中,然后运行

hadoop mradmin -refreshNodes;

hadoop dfsadmin -refreshNodes;

就是这样。

顺便说一下,'mradmin -refreshNodes'设施是在0.21

中添加的

尼基尔