Hadoop 生产环境集群平滑下线节点(datanode/tasktracker or nodemanager)
2015-06-03 17:09
691 查看
如题,生产环境下可能会碰到下线服务器需求,强制关闭tasktracker or nodemanager影响的只是作业,但强制下线大于HDFS备份数的datanode就有丢数据的风险了。Hadoop提供了平滑下线的工具,本文以2.2版本为例。
注:1、value值(dfshosts.exclude)为文件名,可自定义
2、示例使用相对路径,所以需要手动在hdfs-site.xml统计目录创建该文件。也可使用绝对路径。
2)编辑dfshosts.exclud文件
将node对应值添加进该文件。
2、点击“Decommissioning Nodes”可看到执行时间,退役datanode ip,正在复制block数量等信息
3、下图状态其实已退役完全(block 转移结束),后续hadoop会自动删除datanode上的数据,也可以直接停掉datanode,手动删除数据
若没启用yarn,即下线tasktracker时执行:
hadoop mradmin -refreshNodes
一、修改配置(登录集群中任一台服务器,最好直接nn节点吧,以下线datanode为例)
1、添加(或修改)如下配置项到hdfs-site.xml
<property> <name>dfs.hosts.exclude</name> <value>dfshosts.exclude</value> </property>
注:1、value值(dfshosts.exclude)为文件名,可自定义
2、示例使用相对路径,所以需要手动在hdfs-site.xml统计目录创建该文件。也可使用绝对路径。
2、配置需下线的datanode
1)查看50070页面,找到需下线datanode的注册名字,即下图中node对应值2)编辑dfshosts.exclud文件
将node对应值添加进该文件。
二、执行下线命令
hdfs dfsadmin -refreshNodes三、状态查看
1、显示正在退役的3个datanode,此时,hadoop复制该datanode block至其他datanode2、点击“Decommissioning Nodes”可看到执行时间,退役datanode ip,正在复制block数量等信息
3、下图状态其实已退役完全(block 转移结束),后续hadoop会自动删除datanode上的数据,也可以直接停掉datanode,手动删除数据
附:下线tasktracker or nodemanager(过程与下线datanode类似,一下列举不同点)
1、添加(或修改)如下配置项到mapred-site.xml
<property> <name>mapred.hosts.exclude</name> <value>mrhosts.exclude</value> </property>
2、执行下线命令
yurm rmadmin -refreshNodes若没启用yarn,即下线tasktracker时执行:
hadoop mradmin -refreshNodes
相关文章推荐
- 详解HDFS Short Circuit Local Reads
- Hadoop_2.1.0 MapReduce序列图
- 使用Hadoop搭建现代电信企业架构
- 单机版搭建Hadoop环境图文教程详解
- hadoop常见错误以及处理方法详解
- hadoop 单机安装配置教程
- hadoop的hdfs文件操作实现上传文件到hdfs
- hadoop实现grep示例分享
- Apache Hadoop版本详解
- linux下搭建hadoop环境步骤分享
- hadoop client与datanode的通信协议分析
- hadoop中一些常用的命令介绍
- Hadoop单机版和全分布式(集群)安装
- 用PHP和Shell写Hadoop的MapReduce程序
- hadoop map-reduce中的文件并发操作
- Hadoop1.2中配置伪分布式的实例
- java结合HADOOP集群文件上传下载
- 用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
- Hadoop安装感悟