dfsadmin工具用途较广,既可以查找HDFS状态信息,又可在HDFS上执行管理操作。详细操作如下:
-report
显示文件系统的统计信息(类似于网页界面上显示的内容),以及所连接的各个datanode的信息-safemode enter | leave | get | wait
改变或查询安全模式
get —查看namenode是否处于安全模式
wait —用户执行某条命令时先退出安全模式(暂时)
enter —-进去安全模式
leave —离开安全模式-saveNamespace
将内存中的文件系统映像保存保存为一个新的fsimage文件,重置edits文件。该操作仅在安全模式下执行-rollEdits
编辑日志- -restoreFailedStorage true|false|check
设置尝试恢复失败的存储副本 true –设置 false –取消设置 check–检查标志 -refreshNodes
更新允许连接到namenode的datanode列表-setQuota 《quota《dirname>…《dirname
设置目录的配额,即设置以该目录为根的整个目录树最多包含多少个文件和目录。这项配置能有效阻止用户创建大量小文件,从而保护namenode的内存(文件系统中的所有文件、目录和块的各项信息均存储在内存中 )-clrQuota >dirname>…>dirname>
清理指定目录的配额-setSpaceQuota >quota> dirname>…>dirname>
设置目录的空间配额,以限制存储在目录树中的所有文件的总规模,分别为各用户指定有限的存储空间很有必要-clrSpaceQuota >dirname>…>dirname>
清理指定的空间配额-finalizeUpgrade
移除datanode和namenode的存储目录上的旧版本数据,这个操作一般在升级完成而且集群在新版本下运行正常的情况下执行- -rollingUpgrade {query|prepare|finalize>}
query 查询当前滚动升级状态
prepare 准备一个新的滚动升级
finalize 完成当前滚动升级 -refreshServiceAcl
刷新namenode的服务级授权策略文件-refreshUserToGroupsMappings
刷新用户到组的映射-refreshSuperUserGroupsConfiguration
刷新超级用户代理组映射- -refreshCallQueue
从config重新加载调用队列 - -refresh { host:ipc_port> key> [arg1..argn]}
触发(key)指定的资源的运行时刷新,其他的arg被发送到指定的主机 - -reconfig datanode|…> host:ipc_port> 》start|status|properties>
启动或获取重新配置操作的状态、或获取可重新配置属性的列表, - -printTopology
将namenode的节点以熟悉打印 -refreshNamenodes datanode_host:ipc_port
对于给定的datanode,重新加载配置文件,停止为删除的快池提供服务并开始提供新的块池-deleteBlockPool datanode_host:ipc_port blockpoolId [force]
删除块池。如果给定块池id上的块池目录,datanode与其内容一起删除,否则,只有当前目录为空时,才会删除它- -setBalancerBandwidth >bandwidth>
更改每个datanode期间使用的网络带宽block的平衡 - -fetchImage >local directory>
从Name节点下载最新的fsimage并将其保存在指定的本地目录中。 - -allowSnapshot >snapshotDir>
允许在目录上拍摄快照 - -disallowSnapshot >snapshotDir>
不允许在目录上拍摄快照 - -shutdownDatanode >datanode_host:ipc_port> [upgrade]
为给定的datanode提交关闭请求。 - -getDatanodeInfo >datanode_host:ipc_port>
获取关于给定数据的信息。这个命令可以用于检查datanode是否处于活动状态。 - -triggerBlockReport [-incremental] >datanode_host:ipc_port>
触发datanode的块报告。如果指定了“增量”,它将是一个增量块报告;否则,它将是一个完整的整体报告。