《Hadoop MapReduce实战手册》一2.4 DataNode下架

简介:

本节书摘来异步社区《Hadoop MapReduce实战手册》一书中的第2章,第2.4节,作者: 【美】Srinath Perera , Thilina Gunarathne 译者: 杨卓荦 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.4 DataNode下架

Hadoop MapReduce实战手册
有些时候你可能想让一个HDFS集群的一个或多个数据节点下架。本节展示了如何优雅地让使用中的DataNode下架而不会导致数据丢失,而且无需重新启动集群。

操作步骤
下列步骤显示了如何让数据节点优雅地下架。

  1. 如果集群没有排除文件配置,则需要向集群中添加一个排除文件(exclude file)。在NameNode上创建一个空文件,并且通过添加以下属性从conf/hdfs-site.xml文件指向它。
<property> 
  <name>dfs.hosts.exclude</name>
  <value>[FUL_PATHTO_THE_EXCLUDE_FILE_]</value>
  <description>Names a file that contains a list of hosts thatare
not permitted to connect to the namenode. The full pathname of
the file must be specified. If the value is empty, no hosts are
excluded.</description>
</property>
  1. 将要下架的节点的主机名添加到exclude文件中。
  2. 运行下列命令以重新加载NameNode的配置。这将启动下架过程。下架过程可能需要相当一段时间,因为它需要确保数据块的复制操作没有影响集群的其他任务。
>bin/hadoopdfsadmin -refreshNodes
  1. 下架进度显示在HDFS中用户界面下的Decommissioning Nodes页面。也可以使用下面的命令监控下架进度。不要关闭这些下架中节点,直到下架完成。
>bin/hadoopdfsadmin -report
...
...
Name: myhost:50010
Decommission Status : Decommission in progress
Configured Capacity: ...
...
  1. 当想要把这些节点重新添加回集群时,可以从exclude文件中删除节点,执行bin/Hadoop
dfsadmin –refreshNodes命令。
  1. 下架过程可以通过从exclude文件中删除该节点的名称、然后执行bin/hadoopd dfsadmin
-refreshNodes命令来停止。

工作原理
在节点下架时,HDFS会将该节点中的块复制到集群中的其他节点。下架可能是一个非常缓慢的过程,因为HDFS故意使它缓慢地运行,以避免集群过载。如果直接关闭节点,而不采用下架,可能会导致数据丢失。

下架完成后,将不再允许exclude文件所提及的节点与NameNode通信。

相关文章
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
68 2
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
98 3
|
2月前
|
分布式计算 资源调度 数据可视化
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
43 1
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
51 1
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
89 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
41 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
49 0
|
数据采集 分布式计算 搜索推荐
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
|
存储 分布式计算 Hadoop
Hadoop基础学习---6、MapReduce框架原理(一)
Hadoop基础学习---6、MapReduce框架原理(一)
|
存储 分布式计算 Hadoop
【Hadoop】一个例子带你了解MapReduce
【Hadoop】一个例子带你了解MapReduce
98 1

相关实验场景

更多