Hadoop 常用命令汇总

发布于:2025-03-02 ⋅ 阅读:(115) ⋅ 点赞:(0)

HDFS 文件操作命令风格有两种,两种命令效果一样

hadoop fs 开头
hdfs dfs 开头

查看帮助信息

hadoop fs -help [cmd]

查看指定目录文件列表

-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [-e] [<path> ...]

-C # 只显示文件和目录的路径。
-d # 目录以普通文件的形式列出。
-h # 以人类可读的方式格式化文件的大小而不是字节数。
-q # 打印 ? 而不是不可打印的字符。
-R # 递归地列出目录的内容。
-t # 根据修改时间(最近的先修改)对文件进行排序。
-S # 按大小排序文件。
-r # 颠倒排序的顺序。
-u # 使用最后访问时间代替修改显示和排序。
-e # 显示文件和目录的擦除编码策略。

上传文件

将文件从本地文件系统复制到fs。如果文件已经存在会复制失败,除非指定了-f标志。

-put [-f] [-p] [-l] [-d] [-t <thread count>] <localsrc> ... <dst>   

-p # 保存时间戳、所有权和模式。
-f # 如果目标已经存在,则覆盖它。
-t # 使用的线程数,默认为1。
-l # 允许DataNode将文件延迟持久化到磁盘。强制复制因子为1。这个标志将导致耐久性下降。小心使用。
-d # 跳过临时文件的创建(.COPYING)

下载文件

将匹配文件模式的文件复制到本地。复制多个文件时,目标必须是一个目录。-f 如果目标已经存在则覆盖目标,-p 保留访问和修改时间、所有权和方式。

-get [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst> 

移动文件/重命名

-mv <src> ... <dst>  #移动多个文件时,目标必须是一个目录。

拷贝文件

将匹配文件模式的文件复制到目标。当复制多个文件,目标必须是一个目录。

-cp [-f] [-p | -p[topax]] [-d] <src> ... <dst> #如果目标已存在,传递-f将覆盖

查找文件

查找与指定表达式和匹配的所有文件,将选定的操作应用于它们。如果不指定默认为当前工作目录。

-find <path> ... <expression> ...

查看内容

-cat [-ignoreCrc] <src> ...  # 获取所有匹配文件模式的文件,并显示其内容在stdout。

其他命令

从配置中获取配置值

hdfs getconf [cmd]

  -namenodes			# 获取群集中的namenode列表。
  -secondaryNameNodes	# 获取集群中secondaryNameNode的列表。
  -backupNodes			# 获取群集中的备份节点列表。
  -journalNodes			# 获取群集中的日志节点列表。
  -includeFile			# 获取定义可加入群集的datanode的包含文件路径。
  -excludeFile			# 获取定义需要退役的datanode的排除文件路径。
  -nnRpcAddresses		# 获取namenode RPC地址
  -confKey [key]		# 从配置中获取特定的key

over~