我在一台拥有10台以上机器的集群上运行Hadoop 1.1.2.对于HDFS和MapReduce,我想很好地向上和向下扩展.通过"很好",我的意思是我要求数据不会丢失(允许HDFS节点解除),并且在关闭之前运行任务的节点完成.
我注意到,一旦退役,datanode进程就会死掉,这很好.这是我删除节点的方法:
$ hadoop mradmin -refreshNodes$ hadoop dfsadmin -refreshNodes$ hadoop-daemon.sh stop tasktracker要重新添加节点(假设它已被删除,如上所述),这就是我正在做的事情.
$ hadoop mradmin -refreshNodes$ hadoop dfsadmin -refreshNodes$ hadoop-daemon.sh start tasktracker$ hadoop-daemon.sh start datanode这是"很好地"向上和向下扩展的正确方法吗?按比例缩小时,我注意到某些不幸工作的工作持续时间急剧上升(因为他们在被移除的节点上运行的任务需要重新安排).
Tej*_*til 29
如果您之前没有设置dfs排除文件,请按照1-3进行操作.另外从4开始.
bin/hadoop dfsadmin -refreshNodes.这会强制NameNode重新读取排除文件并启动退役过程.bin/hadoop mradmin -refreshNodes"Decommission complete for node XXXX.XXXX.X.XX:XXXXX"将在完成退役后显示在NameNode日志文件中,此时您可以从群集中删除节点.bin/hadoop dfsadmin -report以验证.停止排除节点上的datanode和tasktracker进程.要将节点添加为datanode和tasktracker,请参阅Hadoop FAQ页面
编辑:当要从群集中删除活动节点时,作业会发生什么?
在要退出的节点上运行的作业将受到影响,因为在该节点上调度的作业的任务将标记为KILLED_UNCLEAN(用于映射和减少任务)或KILLED(用于作业设置和清理任务).有关详细信息,请参阅JobTracker.java中的第4633行.将通知该工作失败该任务.大多数情况下,Job跟踪器将重新安排执行.但是,经过多次重复故障后,它可能会决定让整个工作失败或成功.请参阅JobInProgress.java中的第2957行.
| 归档时间: |
|
| 查看次数: |
33716 次 |
| 最近记录: |