我使用不断变化的数据输入运行一些批处理作业,并且在配置容量时遇到问题。我正在使用 whirl 进行初始设置,但是一旦启动,例如,5 台机器,我不知道如何在其运行时向其添加新机器。我事先不知道数据会有多复杂或有多大,所以我想知道是否有办法将新机器添加到集群并让它立即生效(或者有一些延迟但不想必须关闭集群并使用新节点启动它)。
问问题
9539 次
2 回答
10
同时 - 我不确定已经运行的作业是否会利用这些节点,因为计划在哪里运行每个任务是在作业开始时发生的(据我所知)。
我也认为只在这些临时节点上运行任务跟踪器更实用。
于 2012-04-23T18:21:18.313 回答
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 中添加的
尼基尔
于 2012-04-26T14:48:40.227 回答