Hadoop之HDFS命令

概述

所有的HDFS命令都调用bin/hdfs脚本文件,如果运行hdfs脚本没有带任何参数的话,则打印所有命令的描述。

 

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

Hadoop是一个参数解析框架,采用解析泛型选项以及运行类。

命令参数 描述
--config
--loglevel
指定一个默认的配置文件目录,默认值是: ${HADOOP_PREFIX}/conf.
重载Log级别。有效的日志级别包含:FATAL, ERROR, WARN, INFO, DEBUG, and TRACE。默认是INFO。
GENERIC_OPTIONS YARN支持表A的通用命令项。
COMMAND COMMAND_OPTIONS YARN分为用户命令和管理员命令。


表A:

 

 

 

通用项 Description
-archives <comma separated list of archives> 用逗号分隔计算中未归档的文件。 仅仅针对JOB。
-conf <configuration file> 制定应用程序的配置文件。
-D <property>=<value> 使用给定的属性值。
-files <comma separated list of files> 用逗号分隔的文件,拷贝到Map reduce机器,仅仅针对JOB
-jt <local> or <resourcemanager:port> 指定一个ResourceManager. 仅仅针对JOB。
-libjars <comma seperated list of jars> 将用逗号分隔的jar路径包含到classpath中去,仅仅针对JOB。

 

用户命令:

 

 

对于Hadoop集群用户很有用的命令:

dfs

使用: hdfs dfs [COMMAND [COMMAND_OPTIONS]]

在hadoop中运行支持文件系统的命令。各种[COMMAND_OPTIONS]命令可以查看Hadoop之文件系统Shell

fetchdt

使用: hdfs fetchdt [--webservice <namenode_http_addr>] <path>

 

命令参数 描述
--webservice https_address 使用HTTP端口代替RPC
fileName 存储token的文件名。

从NameNode获取DelegationToken授权标识

 

hdfs脚本支持fetchdt命令来获取DelegationToken(授权标识,并存储在本地文件系统的一个文件中。这样“非安全”的客户端可以使用该标识去访问受限的服务器(例如NameNode)。可以采用RPC或HTTPS(over Kerberos)方式获取该标示,在获取之前需要提交Kerberos凭证(运行kinit来获得凭证)。当你获得授权标识后,通过指定环境变量HADOOP_TOKEN_FILE_LOCATION为授权标识文件名,你就可以运行HDFS命令,而不需要Kerberros凭证了。

fsck

使用:

   hdfs fsck <path>
          [-list-corruptfileblocks |
          [-move | -delete | -openforwrite]
          [-files [-blocks [-locations | -racks]]]
          [-includeSnapshots]

 

命令选项 描述
path 指定诊断的路径(既可以是文件也可以是目录)
-delete 删除损坏的文件。
-files 打印被诊断的文件。
-files -blocks 打印被诊断的文件的块信息。
-files -blocks -locations 打印每个块的位置信息。
-files -blocks -racks 打印数据块的网络拓扑结构
-includeSnapshots 如果给定的路径包含快照的路径或者快照在该路径下,则包含快照的数据。
-list-corruptfileblocks 打印丢失的块列表以及块所属的文件。
-move 移动损坏的文件到/lost+found目录。
-openforwrite 打印正在被写入的文件。

诊断文件系统健康状态的工具,能够帮助发现丢失的文件或数据块。

示例:

 

[hadoop@hadoopcluster78 bin]$ hdfs fsck /test/fish -files -blocks
Connecting to namenode via http://hadoopcluster78:50070
FSCK started by hadoop (auth:SIMPLE) from /10.0.1.78 for path /test/fish at Fri Aug 14 12:01:50 CST 2015
/test/fish <dir>
/test/fish/box_log_20150721.txt 2018468864 bytes, 16 block(s):  OK
0. BP-701099497-10.0.1.78-1430101367576:blk_1073749326_8927 len=134217728 repl=3
1. BP-701099497-10.0.1.78-1430101367576:blk_1073749327_8928 len=134217728 repl=3
2. BP-701099497-10.0.1.78-1430101367576:blk_1073749328_8929 len=134217728 repl=3
3. BP-701099497-10.0.1.78-1430101367576:blk_1073749329_8930 len=1
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop命令HDFS命令都是Hadoop生态系统中常用的命令,但二者有一些区别。 Hadoop命令是指一组用于管理和操作Hadoop集群的命令,包括文件操作、MapReduce作业管理、集群管理等。它们通常运行在Hadoop集群的任意一台节点上,可以通过命令行或脚本等方式进行调用。Hadoop命令主要包括: 1. Hadoop fs:用于操作Hadoop分布式文件系统(HDFS),如上传、下载、删除、复制等文件操作。 2. Hadoop jar:用于提交和管理MapReduce作业,包括作业提交、作业监控、作业杀死等。 3. Hadoop dfsadmin:用于管理HDFS集群,如节点添加、节点删除、数据块管理等。 4. Hadoop mradmin:用于管理MapReduce作业,如作业队列管理、作业优先级管理等。 HDFS命令是指一组用于操作HDFS命令,包括文件操作、目录操作、权限管理等。它们通常运行在Hadoop集群上的某个节点上,可以通过命令行或脚本等方式进行调用。HDFS命令主要包括: 1. Hdfs dfs:用于操作HDFS,包括上传、下载、删除、复制等文件操作。 2. Hdfs dfsadmin:用于管理HDFS集群,如节点添加、节点删除、数据块管理等。 3. Hdfs dfsquota:用于管理HDFS的配额,如设置用户配额、目录配额等。 4. Hdfs dfsrouteradmin:用于管理HDFS路由器,如添加路由器、删除路由器等。 总的来说,Hadoop命令更加通用,可以用于管理整个Hadoop集群,而HDFS命令更加专注于HDFS的文件操作和管理,更适合用于HDFS的管理和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值