• 概观
  • 主机级设置
    • 仅限主机名配置
    • 基于JSON的配置
  • 群集级别设置
  • 度量

概观

Hadoop分布式文件系统(HDFS)名称节点维护所有数据节点的状态。有两种类型的状态。第一种类型描述了datanode的活跃性,指示节点是活的,死的还是陈旧的。第二种类型描述了管理状态,指示节点是在服务中,退役还是在维护中。

当管理员停用datanode时,datanode将首先转换为DECOMMISSION_INPROGRESS状态。在属于该datanode的所有块已根据每个块的复制因子完全复制到其他位置之后。datanode将转换为DECOMMISSIONED状态。之后,管理员可以关闭节点以执行可能需要数天或数周的长期维修和维护。机器修好后,机器可以重新调试回集群。

有时管理员只需要将数据节点缩短几分钟/小时即可执行短期维修/维护。在这种情况下,退役引起的HDFS块复制开销可能不是必需的,并且需要轻量级过程。这就是维护状态的用途。当管理员将datanode置于维护状态时,datanode将首先转换为ENTERING_MAINTENANCE状态。只要属于该datanode的所有块都在其他地方进行了最低限度的复制,datanode将立即转换为IN_MAINTENANCE州。维护完成后,管理员可以使datanode退出维护状态。此外,维护状态支持超时,允许管理员配置允许datanode保持维护状态的最长持续时间。超时后,数据节点将由HDFS自动转换为维护状态,无需人工干预。

总之,datanode管理操作包括以下内容:

  • 退役
  • Recommission
  • Decommission .  退役
  • Recommission .  重新挂载
  • Putting nodes in maintenance state .  将节点置于维护状态
  • Taking nodes out of maintenance state .     使节点退出维护状态

datanode管理员状态包括以下内容:

  • NORMAL       节点正在使用中。
  • DECOMMISSIONED       节点已退役。
  • DECOMMISSION_INPROGRESS       节点正在转换为 DECOMMISSIONED 状态。
  • IN_MAINTENANCE       节点处于维护状态。
  • ENTERING_MAINTENANCE        节点正在转换为维护状态。

主机级设置

要执行任何datanode管理操作,有两个步骤。

  • 更新主机级配置文件以指示目标数据节点的所需管理状态。配置文件有两种支持的格式。

    • 仅限主机名配置。每行包括datanode的 hostname/ip 。这是默认格式。
    • 基于JSON的配置。配置采用JSON格式。每个元素映射到一个datanode,每个datanode可以有多个属性。将datanode置于维护状态需要此格式。
  • 运行以下命令让namenode重新加载主机级配置文件。hdfs dfsadmin [-refreshNodes]

Host-level  配置

这是namenode使用的默认配置。它只支持节点退役和重新启动; 它不支持与维护状态相关的管理操作。使用dfs.hosts和dfs.hosts.exclude,如hdfs-default.xml中所述。

在以下示例中,host1和host2需要在服务中。host3和host4需要处于退役状态。

dfs.hosts文件

host1
host2
host3
host4

dfs.hosts.exclude文件

host3
host4

基于JSON的配置

基于JSON的格式是支持datanode上的通用属性的新配置格式。设置以下配置以启用基于JSON的格式,如hdfs-default.xml中所述。

设置
dfs.namenode.hosts.provider.classname org.apache.hadoop.hdfs.server.blockmanagement.CombinedHostFileManager
dfs.hosts json主机文件的路径

以下是HDFS当前支持的属性列表。

属性 描述
hostName 需要。datanode的主机名。
upgradeDomain 可选的。datanode的升级域ID。
adminState 可选的。预期的管理状态。默认值为NORMAL ; 退役的退役; IN_MAINTENANCE用于维护状态。
port 可选的。datanode的端口号
maintenanceExpireTimeInMS 可选的。以毫秒为单位的纪元时间,直到datanode保持维护状态。默认值是永久的。

在以下示例中,host1和host2需要服务。host3需要处于退役状态。host4需要处于维护状态。

dfs.hosts文件

[{"hostName": "host1"},{"hostName": "host2","upgradeDomain": "ud0"},{"hostName": "host3","adminState": "DECOMMISSIONED"},{"hostName": "host4","upgradeDomain": "ud2","adminState": "IN_MAINTENANCE"}
]

群集级别设置

有几个与datanode管理相关的集群级设置。对于常见用例,您应该依赖于默认值。有关说明和默认值,请参阅hdfs-default.xml。

dfs.namenode.maintenance.replication.min
dfs.namenode.decommission.interval
dfs.namenode.decommission.blocks.per.interval
dfs.namenode.decommission.max.concurrent.tracked.nodes

度量

管理状态是namenode的webUI和JMX的一部分。如HDFSCommands.html中所述,您还可以使用以下命令验证管理状态。

使用dfsadmin检查群集级别的管理状态。

hdfs dfsadmin -report

使用fsck检查存储特定路径数据的datanode的管理状态。为了向后兼容,需要特殊标志来返回维护状态。

hdfs fsck <path> // only show decommission state
hdfs fsck <path> -maintenance // include maintenance state

原文链接: https://hadoop.apache.org/docs/r3.2.0/

Hadoop3.2.0 HDFS DataNode管理员指南相关推荐

  1. Hadoop3.2.0 HDFS命令指南

    HDFS命令指南 概览 User Commands classpath dfs envvars fetchdt fsck getconf groups httpfs lsSnapshottableDi ...

  2. Hadoop3.2.0 HDFS HA ( Quorum Journal Manager )

    目的 注意:使用Quorum Journal Manager或常规共享存储 背景 架构 硬件资源 部署 配置概述 配置细节 部署细节 管理命令 负载均衡器设置 自动故障转移 介绍 组件 部署ZooKe ...

  3. Hadoop3.2.0 HDFS磁盘平衡器

    概述 建筑 命令 计划 执行 询问 取消 报告 设置 调试 概述 Diskbalancer是一个命令行工具,可以在datanode的所有磁盘上均匀分配数据.此工具与Balancer不同, 后者负责集群 ...

  4. hadoop3.1.0集群搭建

    一.环境配置 jdk1.8 centos7 二.环境搭建 1.安装jdk 这个不用怎么说了吧,可以直接yum安装或者自己下载tar包.yum安装不用配置javahome,但是需要知道javahome位 ...

  5. Ubuntu18.04 安装搭建 hadoop-3.3.0 集群

    Ubuntu18.04 安装搭建 hadoop-3.3.0 集群 参考博文:https://blog.csdn.net/sunxiaoju/article/details/85222290?ops_r ...

  6. hadoop3.3.0版本搭建

    文章目录 hadoop--3.3.0 版本 默认的端口 伪分布式 设置配置文件 分布式操作 配置文件 启动命令 关闭命令,相反即可 注: hadoop--3.3.0 版本 默认的端口 namenode ...

  7. 【hadoop】hadoop3.2.0应用环境搭建与使用指南

    下面列出我搭建hadoop应用环境的文章整理在一起,不定期更新,供大家参考,互相学习!!! 第一篇 HADOOP部分 1.1 hadoop3.2.0的安装并测试 1.2 编译Hadoop连接eclip ...

  8. Hadoop-3.3.0安装 Centos 8.2安装Hadoop-3.3.0 Hadoop-3.3.0安装指南

    Centos 8.2 安装Hadoop 3.3.0 [root@iZuf61u64hvs1nquuaipy8Z /]# clear [root@iZuf61u64hvs1nquuaipy8Z i-da ...

  9. hadoop3.2.0集群搭建的一些坑!

    搭建步骤就不多说了,网上教程很多,这里列举几个: https://blog.csdn.net/pucao_cug/article/details/71698903    2.8版本 https://w ...

最新文章

  1. Scala swing和FX
  2. python第一条入门程序_Python语言函数代码的执行流程
  3. 平衡二叉树搜索二叉树
  4. Winform--处理MDI父窗体与子窗体的交互
  5. HDU - 6273 Master of GCD
  6. 树莓派安装DLNA实现流媒体服务器
  7. Delphi -- 农历算法
  8. nvme固态硬盘开机慢_固态硬盘速度慢?三步教你开启SSD全速模式!
  9. no version information available问题解决
  10. python显示invalid character_python提示invalid character in identifier
  11. 趋势科技安全威胁病毒预警(本周十大病毒排名)
  12. 人脸检测--libfacedetection
  13. esp8266基本使用 - GET|POST
  14. PPTV多屏互动服务器可以看文档吗,关闭或删除PPTv多屏互动服务器的方法
  15. JAVA-----锁机制
  16. cadence allegro 元器件定位
  17. css学习笔记之图像
  18. java+selenium3
  19. 计算机真有趣作文,真有趣作文(五篇)
  20. 图解CRM(客户关系管理)全流程 1

热门文章

  1. petya病毒分析_首先是WannaCry,现在是Petya –防范大规模勒索软件攻击
  2. [sphinx]中文语言模型训练
  3. 中拓互联携手企信易为企业构建信息,传递信任
  4. 微信为什么使用 SQLite 保存聊天记录
  5. 同期群分析是什么?教你用 SQL 来搞定
  6. 帝国cms生成html网站地图的教程步骤
  7. cad图纸打印出来更高效的方法介绍
  8. 决斗吧4G LTE:联发科helio步步紧逼,高通裁员步步惊心---国际电子商情
  9. 有没有Type-C接口的无线投屏器?HDMI、USB、Type-C接口的无线投屏器又有什么区别呢?
  10. php writeup,PHP_encrypt_1(ISCCCTF) Writeup