IDEA常用插件 Mybatis源码分析(1) - Mybatis包目录简介 tair 1:tair学习 dataflow论文阅读笔记 Polysh的安装使用 SnappyData排序函数比较 Squirrel-sql客户端连接SnappyData手册 在虚拟机里显示Hello World spark学习博客推荐 SnappyData学习博客和官网文章 Docker常用命令 MyBatis支持的OGNL语法 mysql性能优化 mysql性能优化-优化Sql语句 java各版本新特性 mac上命令行操作 explain输出格式 从文件中读取zk配置——ZooKeeper编程技能(1) git进阶经验-从项目中删除移除的目录 Mongodb 学习之shell命令操作(3) mysql命令 git进阶经验-从多模块项目中分理子模块 从零学hadoop-搭建基础(单点)的Hdfs环境 ZooKeeper集群操作脚本 Vue安装使用 2 初学JVM之问答式记住类加载机制 2 初学JVM之问答式记住虚拟机性能监控与故障处理工具 2 初学JVM之问答式记住垃圾收集器 log4j2 按天生成日志文件 1 初学JVM之问答式记住java自动内存管理 MapReduce学习心得之MapReduce初识 log4j2 日志发送到kafka配置实战 log4j2 日志配置实战 Mongodb 学习之shell命令操作(二) Mongodb 学习之linux版本安装(一) Dubbo的初级使用 ServiceLoader内部实现分析 ServiceLoader 初级应用 log4j日志发送邮件配置实战 红黑树笔记 IDEA首次使用之前的配置 java源码学习之Enum java源码学习之String 自定义Spring tag标签 编写一键发布脚本 记一次Spring Scheduler莫名不执行的一次堆栈分析 kafka的基本操作 nginx 5:Nginx内部变量 nginx 4:Nginx日志管理 提高hadoop配置效率的shell脚本 Hive编程指南之一 Hive的安装 Ambari服务器安装 Ambari服务器管理集群 HBase分布式安装 windows下Eclipse远程调试运行MR程序 基于MapReduce新的API的编程Demo-wordCount window下Eclipse远程只读HDFS上的文件 YARN上节点标签 编写第一个MapReduce的wordcount程序 NodeManager的重启 搭建JStorm集群 YARN上的web应用代理 YARN上的ResourceManager的高可用方案 配置vmware中的虚拟机使用宿主机的共享网络 YARN架构简述 HDFS 架构 Spring的统一异常处理机制 Tomcat 配置服务 HDFS的viewfs指南 HDFS的Federation之路 HDFS基于QJM的HA之路 nginx 3:Nginx反向代理 mybatis操作主体流程 1.正则表达式学习-基础篇 log4j日志配置详解 mysql的时间函数 nginx 2:Nginx模块配置理论及实战 HashMap相关解析和测试文章 工作一年后的面试 用私有构造器或枚举类型强化Singleton属性 java中比较重要的图 mybatis处理枚举类 mybatis集成进spring Spring比较重要的几个截图 21.hadoop-2.7.2官网文档翻译-使用NFS的HDFS高可用性 20.hadoop-2.7.2官网文档翻译-使用仲裁日志管理器的HDFS高可用性 markdown在jekyll中支持的一些操作 Spring项目中配置sl4j和log4j的日志配置 19.hadoop-2.7.2官网文档翻译-HDFS命令指南 Spring的profile机制介绍 mybatis-generator反向生成 18.hadoop-2.7.2官网文档翻译-HDFS用户指南 17.hadoop-2.7.2官网文档翻译-实现Hadoop中Dapper-like追踪 16.hadoop-2.7.2官网文档翻译-Hadoop的KMS(key 管理服务器)-文档集 15.hadoop-2.7.2官网文档翻译-Hadoop的http web认证 14.hadoop-2.7.2官网文档翻译-服务级别的授权指南 13.hadoop-2.7.2官网文档翻译-安全模式中的Hadoop 09.hadoop-2.7.2官网文档翻译-Hadoop命令行微型集群 12.hadoop-2.7.2官网文档翻译-机架感知 11.hadoop-2.7.2官网文档翻译-代理用户-超级用户对其他用户的代表 10.hadoop-2.7.2官网文档翻译-原生库指南 08.hadoop-2.7.2官网文档翻译-文件系统规范 07.hadoop-2.7.2官网文档翻译-Hadoop接口类别 (转)浅析 Decorator 模式,兼谈 CDI Decorator 注解 06.hadoop-2.7.2官网文档翻译-Hadoop的兼容性 05.hadoop-2.7.2官网文档翻译-文件系统命令 04.hadoop-2.7.2官网文档翻译-Hadoop命令指南 03.hadoop-2.7.2官网文档翻译-集群安装 02.hadoop-2.7.2官网文档翻译-单节点集群安装 01.hadoop-2.7.2官网文档翻译-概述 Http 协议相应状态码大全及常用状态码 IDEA快捷键 JDBC Type与Java Type redis 12:redis 操作集合 mybatis-generator错误集合 redis 11:redis 错误集合 nginx 1:nginx的安装 redis 10:redis cluster命令操作 redis 9:redis实例集群安装 java设计模式 hadoop集群学习笔记(1) Apache Shiro 简介 vim编辑神器的进阶命令 Eclipse配置 Eclipse快捷键 Linux 测试题 Linux脚本学习(1) Linux启动简要过程 Centos7上安装Mysql hadoop集群学习笔记(1) (转)分布式发布订阅消息系统 Kafka 架构设计 maven 命令 Kafka集群安装 Kafka初步使用 redis 8:redis server 和 scripting命令操作 redis 7:redis transaction 和 connection命令操作 redis 6:redis hash 命令操作 redis 5:redis sorted_set 命令操作 搭建本地Jekyll+Markdown+Github的开发环境 Spring源码阅读笔记(2) redis 4:redis set命令操作 Spring添加任务调度配置 redis 3:Redis list命令操作 redis 2:redis 一般命令操作 redis 1:redis单机安装笔记 redis 0:redis配置属性描述 Spring源码阅读笔记(1) spark 错误集锦 spark集群安装 Linux 基本命令操作 Hadoop错误信息处理 Hadoop代码拾忆 从零开始搭建spring-springmvc-mybatis-mysql和dubbo项目 java知识点札记 java排错 Google Java Style 中文版 git进阶经验 github使用经验 MongoDB用户角色授权与AUTH启用 MongoDB 命令 MongoDB 特定规范 Spring MVC实现跳转的几种方式 史上最全最强SpringMVC详细示例实战教程 Spring 零星笔记 js中(function(){…})()立即执行函数写法理解 如何解决跨域问题 创建ajax简单过程 前端定位 设置MYSQL允许通过IP访问 mybatis异常 :元素内容必须由格式正确的字符数据或标记组成 如何为 WordPress 绑定多个域名的方法s WordPress工作原理之程序文件执行顺序(传说中的架构源码分析) Spring源码导入Eclipse中 基于PHPnow搭建Eclipse开发环境 解决wordpress首页文章内容截断处理的几种方法 ZooKeeper理论知识 ZooKeeper集群安装配置 Git常用命令速查表 Linux 4:磁盘与文件系统管理 Linux 3:文件与目录管理 Linux 2:文件权限与目录配置 Markdown输入LaTeX数学公式
从零学hadoop-搭建基础(单点)的Hdfs环境 MapReduce学习心得之MapReduce初识 Ambari服务器安装 Ambari服务器管理集群 windows下Eclipse远程调试运行MR程序 基于MapReduce新的API的编程Demo-wordCount window下Eclipse远程只读HDFS上的文件 YARN上节点标签 编写第一个MapReduce的wordcount程序 NodeManager的重启 YARN上的web应用代理 YARN上的ResourceManager的高可用方案 YARN架构简述 HDFS 架构 HDFS的viewfs指南 HDFS的Federation之路 HDFS基于QJM的HA之路 21.hadoop-2.7.2官网文档翻译-使用NFS的HDFS高可用性 20.hadoop-2.7.2官网文档翻译-使用仲裁日志管理器的HDFS高可用性 19.hadoop-2.7.2官网文档翻译-HDFS命令指南 18.hadoop-2.7.2官网文档翻译-HDFS用户指南 17.hadoop-2.7.2官网文档翻译-实现Hadoop中Dapper-like追踪 16.hadoop-2.7.2官网文档翻译-Hadoop的KMS(key 管理服务器)-文档集 15.hadoop-2.7.2官网文档翻译-Hadoop的http web认证 14.hadoop-2.7.2官网文档翻译-服务级别的授权指南 13.hadoop-2.7.2官网文档翻译-安全模式中的Hadoop 09.hadoop-2.7.2官网文档翻译-Hadoop命令行微型集群 12.hadoop-2.7.2官网文档翻译-机架感知 11.hadoop-2.7.2官网文档翻译-代理用户-超级用户对其他用户的代表 10.hadoop-2.7.2官网文档翻译-原生库指南 08.hadoop-2.7.2官网文档翻译-文件系统规范 07.hadoop-2.7.2官网文档翻译-Hadoop接口类别 06.hadoop-2.7.2官网文档翻译-Hadoop的兼容性 05.hadoop-2.7.2官网文档翻译-文件系统命令 04.hadoop-2.7.2官网文档翻译-Hadoop命令指南 03.hadoop-2.7.2官网文档翻译-集群安装 02.hadoop-2.7.2官网文档翻译-单节点集群安装 01.hadoop-2.7.2官网文档翻译-概述 hadoop集群学习笔记(1) hadoop集群学习笔记(1) Hadoop错误信息处理 Hadoop代码拾忆

19.hadoop-2.7.2官网文档翻译-HDFS命令指南

2016年07月25日
摘要:HDFS命令指南。官网地址为:http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html

概览

所有的HDFS命令都是调用bin/hdfs脚本。无参数调用hdfs脚本会打印所有命令的描述。

用法:hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]

Hadoop有一个选项的解析框架,采用解析通用选项以及运行类。

命令选项 描述
–config –loglevel shell选项的命令集,该文档在命令手册
GENERIC_OPTIONS 支持多个命令选项的通用集,请看命令手册
COMMAND COMMAND_OPTIONS 在下面的几段中会有各种命令和其选项的描述。命令被分组为用户命令和管理员命令

用户命令

Hadoop集群的用户使用的命令

classpath

用法:hdfs classpath

显示获取Hadoop的jar和需要的库的类路径

dfs

用法:hdfs dfs [COMMAND [COMMAND_OPTIONS]]

在Hadoop支持的文件系统上运行文件系统命令,许多COMMAND_OPTIONS可以在文件系统shell指南中找到。

fetchdt

用法: hdfs fetchdt [--webservice &lt namenode_http_addr&gt ] &lt path&gt

命令选项 描述
–webservice https_address 使用http协议替代RPC
fileName 存储token的文件名

从NameNode获取授权token,可以查看fetchdt

fsck

用法:

hdfs fsck &lt path&gt 
          [-list-corruptfileblocks |
          [-move | -delete | -openforwrite]
          [-files [-blocks [-locations | -racks]]]
          [-includeSnapshots]
          [-storagepolicies] [-blockId &lt blk_Id&gt ]
命令选项 描述
path 开始从该路径检查
-delete 删除损坏的问价
-files 打印出被检查的文件
-files -blocks 打印出块报告
-files -blocks -locations 打印出每个块的位置
-files -blocks -racks 打印出DataNode位置的网络拓扑
-includeSnapshots 如果给定的路径指明了快照目录或在快照目录下,则包含快照数据
-list-corruptfileblocks 打印出丢失的块的列表和他们包含的文件。
-move 将损坏的文件移到/lost+found
-openforwrite 打印打开的文件
-storagepolicies 打印出块的存储策略汇总
-blockId 打印出块的信息

运行HDFS文件系统检查功能。更多信息请查看fsck

getconf

用法:

   hdfs getconf -namenodes
   hdfs getconf -secondaryNameNodes
   hdfs getconf -backupNodes
   hdfs getconf -includeFile
   hdfs getconf -excludeFile
   hdfs getconf -nnRpcAddresses
   hdfs getconf -confKey [key]
命令选项 描述
-namenodes 获取集群的NameNode列表
-secondaryNameNodes 获取集群的secondaryNameNode列表
-backupNodes 获取集群备份节点列表
-includeFile 获取定义可以加入集群的DataNode包含的文件路径
-excludeFile 获取定义可以加入集群的DataNode排除的文件路径
-nnRpcAddresses 获取NameNode的RPC地址
-confKey [key] 从配置文件出获取指定的key

从配置目录,后处理程序中获取配置信息

groups

用法:hdfs groups [username ...]

返回给定的一个或多个用户的组信息

lsSnapshottableDir

用法:hdfs lsSnapshottableDir [-help]

命令选项 描述
-help 显示帮助信息

获取snapshottable目录的列表,在以超级用户运行时,会返回所有snapshottable 的目录,否则返回你那些属于当前用户的目录。

jmxget

用法:hdfs jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service]

命令选项 描述
-help 显示帮助信息
-localVM ConnectorURL 在同一机器上连接VM
-port mbean server port 指定mbean的服务端口,如果没有指定,会尝试连接同一VM的MBean服务
-service 默认指定JMS服务,DataNode或NameNode

丢弃来自于某个服务的JMX信息

oev(offline edits viewer)

用法:hdfs oev [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE

必选的命令行参数

命令选项 描述
-i,–inputFile arg 要处理的edits文件,扩展名为xml意味着是xml格式,任何其他的文件名都意味着是二进制格式
-o,–outputFile arg 输出文件的名称。如果指定文件存在,会被覆盖。格式文件可以使用-p选项定义。

可选的命令行参数

命令选项 描述
-f,–fix-txids 在输入时重新编号传输的id,这样就没有缺失或非法的传输id了
-h,–help 显示用法信息并退出
-r,–ecover 当读取二进制的edits日志时,使用恢复模式。这将让你选择跳过edits日志的损坏的部分。
-p,–processor arg 选择适合image文件的处理类型,当前支持的是二进制(Hadoop用户的原生二进制格式)、xml(默认,xml格式)和stats(显示edits文件的统计信息)
-v,–verbose 更多冗长的输出,打印输入和输出文件名。对于写文件的处理器,也显示在屏幕上。在巨大的image文件时该操作将会增加处理的时间,默认为false

Hadoop离线edits查看器。

oiv(offline image viewer)

用法:hdfs oiv [OPTIONS] -i INPUT_FILE

必选的命令行参数

命令选项 描述
-i,–inputFile arg 要处理的edits文件,扩展名为xml意味着是xml格式,任何其他的文件名都意味着是二进制格式

可选的命令行参数

命令选项 描述
-h,–help 显示用法信息并退出
-o,–outputFile arg 输出文件的名称。如果指定文件存在,会被覆盖。格式文件可以使用-p选项定义。
-p,–processor arg 选择适合image文件的处理类型,当前支持的是二进制(Hadoop用户的原生二进制格式)、xml(默认,xml格式)和stats(显示edits文件的统计信息)

Hadoop离线镜像查看器查看较新的镜像文件。

oiv_legacy

用法: hdfs oiv_legacy [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE

命令选项 描述
-h,–help 显示用法信息并退出
-i,–inputFile arg 要处理的edits文件,扩展名为xml意味着是xml格式,任何其他的文件名都意味着是二进制格式
-o,–outputFile arg 输出文件的名称。如果指定文件存在,会被覆盖。格式文件可以使用-p选项定义。

对于Hadoop较老版本的Hadoop离线镜像查看器

snapshotDiff

用法: hdfs snapshotDiff &lt path&gt &lt fromSnapshot&gt &lt toSnapshot&gt

判断Hadoop快照间的不用。更多信息请看hadoop 快照文档

version

用法: hdfs version

显示Hadoop的版本。

管理员命令

对Hadoop集群的管理员有用的命令

balancer(均衡器)

用法:

    hdfs balancer
          [-threshold &lt threshold&gt ]
          [-policy &lt policy&gt ]
          [-exclude [-f &lt hosts-file&gt  | &lt comma-separated list of hosts&gt ]]
          [-include [-f &lt hosts-file&gt  | &lt comma-separated list of hosts&gt ]]
          [-idleiterations &lt idleiterations&gt ]
命令选项 描述
-policy &lt policy&gt DataNode(默认):如果每个DataNode都均衡了,那集群就均衡了。 blockpool:如果每个块池中的每个DataNode都均衡了,那么集群也就均衡了。
-threshold &lt threshold&gt 临界值,磁盘容量的百分比。会覆盖默认的临界值
-exclude -f &lt hosts-file&gt \ &lt comma-separated list of hosts &gt 从均衡器中移除指定的需要均衡的DataNode
-include -f &lt hosts-file&gt \ &lt comma-separated list of hosts &gt 均衡器中只包含指定的需要被均衡的DataNode
-idleiterations &lt iterations&gt 退出前最大的空闲迭代数量,会覆盖默认的空闲迭代(5)

运行集群均衡的功能。管理员可以简单的按ctrl+c停止均衡进程。更多详细信息请看均衡器

注意:blockpool策略比DataNode上的策略更为严格。

cacheadmin

用法:hdfs cacheadmin -addDirective -path &lt path&gt -pool &lt pool-name&gt [-force] [-replication &lt replication&gt ] [-ttl &lt time-to-live&gt ]

更多信息请看HDFS 缓存管理文档

crypto

用法:

  hdfs crypto -createZone -keyName &lt keyName&gt  -path &lt path&gt 
  hdfs crypto -help &lt command-name&gt 
  hdfs crypto -listZones

更多信息请看HDFS透明加密文档

datanode

用法:hdfs datanode [-regular | -rollback | -rollingupgrace rollback]

命令选项 描述
-regular 正常的DataNode启动(默认)
-rollback 将DataNode回滚到之前的版本。在停止DataNode和部署旧版Hadoop时使用
-rollingupgrade rollback 回滚滚动升级的操作

运行HDFSDataNode

dfsadmin

用法:

    hdfs dfsadmin [GENERIC_OPTIONS]
          [-report [-live] [-dead] [-decommissioning]]
          [-safemode enter | leave | get | wait]
          [-saveNamespace]
          [-rollEdits]
          [-restoreFailedStorage true |false |check]
          [-refreshNodes]
          [-setQuota &lt quota&gt  &lt dirname&gt ...&lt dirname&gt ]
          [-clrQuota &lt dirname&gt ...&lt dirname&gt ]
          [-setSpaceQuota &lt quota&gt  &lt dirname&gt ...&lt dirname&gt ]
          [-clrSpaceQuota &lt dirname&gt ...&lt dirname&gt ]
          [-setStoragePolicy &lt path&gt  &lt policyName&gt ]
          [-getStoragePolicy &lt path&gt ]
          [-finalizeUpgrade]
          [-rollingUpgrade [&lt query&gt  |&lt prepare&gt  |&lt finalize&gt ]]
          [-metasave filename]
          [-refreshServiceAcl]
          [-refreshUserToGroupsMappings]
          [-refreshSuperUserGroupsConfiguration]
          [-refreshCallQueue]
          [-refresh &lt host:ipc_port&gt  &lt key&gt  [arg1..argn]]
          [-reconfig &lt datanode |...&gt  &lt host:ipc_port&gt  &lt start |status&gt ]
          [-printTopology]
          [-refreshNamenodes datanodehost:port]
          [-deleteBlockPool datanode-host:port blockpoolId [force]]
          [-setBalancerBandwidth &lt bandwidth in bytes per second&gt ]
          [-allowSnapshot &lt snapshotDir&gt ]
          [-disallowSnapshot &lt snapshotDir&gt ]
          [-fetchImage &lt local directory&gt ]
          [-shutdownDatanode &lt datanode_host:ipc_port&gt  [upgrade]]
          [-getDatanodeInfo &lt datanode_host:ipc_port&gt ]
          [-triggerBlockReport [-incremental] &lt datanode_host:ipc_port&gt ]
          [-help [cmd]]
命令选项 描述
-report [-live] [-dead] [-decommissioning] 基本文件系统信息和统计嘻嘻报告。选项flags可能用来过滤显示的DataNode列表
-report [-live] [-dead] [-decommissioning] 安全模式维护命令。安全模式是NameNode的一种状态。 1.不接受命名空间的改变(只读);2,不会副本和删除块;在NameNode启动时,自动进入安全模式,并在配置的最小百分比的块满足最小复制条件时自动离开安全模式。安全模式也可以手动进入,而且也能手动关闭
-saveNamespace 将当前的命名空间保存在存储目录中,并充值edits日志。需要安全模式
-rollEdits 在激活的NameNode上滚动edits日志
-restoreFailedStorage true/false/check 该选项会自动开/关来尝试恢复失败的存储副本,如果失败的存储又可以访问了,系统将会在检查点期间尝试恢复edits或者fsimage。“check”选项将会返回当前的设置
-refreshNodes 重新读取hosts和排除文件来更新允许连接到NameNode上和那些退役或重新启用的DataNode的集合。
-setQuota &lt quota&gt &lt dirname&gt …&lt dirname&gt 详情请看HDFS配额指南
-clrQuota &lt dirname&gt …&lt dirname&gt 详情请看HDFS配额指南
-setSpaceQuota &lt quota&gt &lt dirname&gt …&lt dirname&gt 详情请看HDFS配额指南
-clrSpaceQuota &lt dirname&gt …&lt dirname&gt 详情请看HDFS配额指南
-setStoragePolicy &lt path&gt &lt policyName&gt 设置文件或目录的存储策略
-getStoragePolicy &lt path&gt 获取文件或目录的存储策略
-finalizeUpgrade 完成HDFS的升级。在NameNode删除它们以前版本的工作目录后,DataNode会做同样的操作。
-rollingUpgrade [&lt query&gt /&lt prepare&gt /&lt finalize&gt ] 详情请看滚动升级文档
-metasave filename 将NameNode主数据结构保存到hadoop.log.dir属性指定的目录中的文件。如果文件filename存在会被覆盖。每个线面的情况文件filename都会保存一行:1.DataNode到NameNode的心跳;2.等待被复制的块;3.当前被复制的块;4.等待被删除的块
-refreshServiceAcl 重新加载服务级别的认证策略文件
-refreshUserToGroupsMappings 刷新用户到组的映射
-refreshSuperUserGroupsConfiguration 刷新超级用户代理组的映射
-refreshCallQueue 从配置中重新加载call队列
-refresh &lt host:ipc_port&gt &lt key&gt [arg1..argn] 触发参数key指定的在“host:ipc_port”上的资源运行时刷新服务。后面的所有其他参数将会被发送到该主机
-reconfig &lt datanode /…&gt &lt host:ipc_port&gt &lt start/status&gt 开启配置或者获取运行中的配置的状态。第二个参数指定node的类型,只支持DataNode的配置
-printTopology 打印架构树,并且它们的节点会被NameNode报告
-refreshNamenodes datanodehost:port 对于给定的DataNode,重新加载配置文件,停止被删除的块池服务,并启动新的块池服务。
-deleteBlockPool datanode-host:port blockpoolId [force] 如果force被设置,给定的DataNode上的块池id的块池目录会连带内容被删除。否则只有在目录为空时删除。如果DataNode的块池仍然在服务中,该命令会失败。参考refreshNamenodes来关闭DataNode上的某个块池服务。
-setBalancerBandwidth &lt bandwidth in bytes per second&gt 改变每个DataNode使用HDFS块平衡的网络带宽。bandwidth是每个DataNode每秒使用的最大字节数。该值会覆盖dfs.balance.bandwidthPerSec参数。注意:新值不会持久化到DataNode中。
-allowSnapshot &lt snapshotDir&gt 允许目录快照被创建。如果操作成功完成,目录将会变成可快照的
-disallowSnapshot &lt snapshotDir&gt 不允许目录快照被创创建。在禁用快照之前,所有的目录快照都必须被删除。详情请看HDFS 快照文档
-fetchImage &lt local directory&gt 从NameNode上下载最近的fsimage,并将他们保存在指定的本地目录中。
-shutdownDatanode &lt datanode_host:ipc_port&gt [upgrade] 向给定的DataNode提交关闭请求。详情请看滚动升级文档
-getDatanodeInfo &lt datanode_host:ipc_port&gt 获取给定的DataNode信息。详情请看滚动升级文档
-triggerBlockReport [-incremental] &lt datanode_host:ipc_port&gt 触发对给定的DataNode的块报告。如果‘incremental’被指定。将会被覆盖,将会是完整的块报告。
-help [cmd] 显示给定命令的帮助信息,如果没有指定会显示所有命令的信息。

运行HDFS dfsadmin 客户端

haadmin

用法:

    hdfs haadmin -checkHealth <serviceId>
    hdfs haadmin -failover [--forcefence] [--forceactive] <serviceId> <serviceId>
    hdfs haadmin -getServiceState <serviceId>
    hdfs haadmin -help <command>
    hdfs haadmin -transitionToActive <serviceId> [--forceactive]
    hdfs haadmin -transitionToStandby <serviceId>

命令选项 描述
-checkHealth 检查给定NameNode的健康状态
-failover 启动两个节点的故障转移
-getServiceState 判断给定的NameNode是激活还是备用
-transitionToActive 将给定NameNode的状态转变为激活
-transitionToStandby 将给定NameNode的状态转变为备用

更多信息请查看 HDFS HA with NFS 或者 HDFS HA with QJM

journalnode

用法:hdfs journalnode

该命令启动一个journalnode节点,请参考 HDFS HA with QJM

mover

用法:hdfs mover [-p <files/dirs> | -f <local file name>]

命令选项 描述
-f 指定一个本地文件来包含要迁移的HDFS文件和目录的列表。
-p <files/dirs> 指定要迁移的HDFS文件或目录的空格分隔的列表

运行数据迁移功能,详情请看mover

注意:-p-f选项省略时,默认路径是root目录

namenode(均衡器)

用法:

  hdfs namenode [-backup] |
          [-checkpoint] |
          [-format [-clusterid cid ] [-force] [-nonInteractive] ] |
          [-upgrade [-clusterid cid] [-renameReserved<k-v pairs>] ] |
          [-upgradeOnly [-clusterid cid] [-renameReserved<k-v pairs>] ] |
          [-rollback] |
          [-rollingUpgrade <downgrade |rollback> ] |
          [-finalize] |
          [-importCheckpoint] |
          [-initializeSharedEdits] |
          [-bootstrapStandby] |
          [-recover [-force] ] |
          [-metadataVersion ]

命令选项 描述
-backup 启动备份节点
-checkpoint 启动检查点节点
-format [-clusterid cid] [-force] [-nonInteractive] 格式化指定的纳闷,如果启动NameNode,格式化然后将其关闭。’-force’选项在name目录存在时也会强制格式化。’ -nonInteractive’选项在Name目录存在时会终端操作,除非指定’-force’选项。
-upgrade [-clusterid cid] [-renameReserved ] 在部署了新版本的Hadoop后,NameNode应该使用升级选项启动。
-upgradeOnly [-clusterid cid] [-renameReserved ] 升级指定的NameNode然后将其关闭。
-rollback 将NameNode回滚到以前的版本。该命令在停止集群并部署了旧的Hadoop版本后使用。
-rollingUpgrade &lt downgrade/rollback/started &gt 详情请看滚动升级
-finalize 该选项将会删文件系统以前的状态,最近的升级将会成为固定态。回滚操作将不可用。完成后会关闭NameNode
-importCheckpoint 从一个检查点目录加载镜像并将其保存在当前一个点上。检查点目录是从fs.checkpoint.dir属性读取。
-initializeSharedEdits 格式化一个新的分享edits目录并在足够的edit日志段中赋值。因此备用NameNode可以启动。
-bootstrapStandby 允许备用NameNode存储目录自助的从激活的NameNode上复制最新的命名空间快照。该命令在第一次配置高可用集群时使用。
-recover [-force] 从中断的文件系统上回复丢失的元数据。详情请看HDFS用户指南
-metadataVersion 核实配置目录存在,然后打印出软件和镜像的元数据版本。

运行NameNode,更多关于升级,回滚和完成清理的信息请看HDFS用户指南

nfs3

用法:hdfs nfs3

该命令会启用NFS3网关,请看 HDFS NFS3 服务

portmap

用法:hdfs portmap

该命令启用RPC的端口映射,请看 HDFS NFS3 服务

secondarynamenode

用法:hdfs secondarynamenode [-checkpoint [force]] | [-format] | [-geteditsize]

命令选项 描述
-checkpoint [force] 如果edits日志大小超过fs.checkpoint.size设置大小,将会为SecondaryNameNode设置检查点。如果使用了force,检查点将不考虑edit日志大小。
-format 在启动时格式化本地存储
-geteditsize 打印NameNode上未经检查点处理的数值

运行HDFS的Secondary的NameNode。请看HDFS用户指南

storagepolicies

用法:hdfs storagepolicies

列出所有的存储策略,更多信息请看HDFS存储策略文档

zkfc

用法:hdfs zkfc [-formatZK [-force] [-nonInteractive]]

命令选项 描述
-formatZK 格式化ZooKeeper实例
-h 显示帮助信息

Debug 命令

该命令对帮助管理员调试HDFS问题很有用,向校验块文件和调用恢复权。

verify

用法:hdfs debug verify [-meta <metadata-file>] [-block <block-file>]

命令选项 描述
-block block-file 可选项,指定本地文件系统的数据节点上的块文件的绝对路径。
-meta metadata-file 本地文件系统的数据节点的元数据文件的绝对路径。

验证HDFS元数据和块文件。如果指定了块文件,会校验元数据文件内的校验和是否与块文件匹配。

recoverLease

用法:hdfs debug recoverLease [-path <path>] [-retries <num-retries>]

命令选项 描述
[-path path] 恢复租约的HDFS路径
[-retries num-retries] 客户端尝试调用recoverLease的次数。默认次数为1

恢复指定路径上的租约。路径必须在HDFS文件系统中存在。默认重试的次数为1。