HDFS|Shell操作命令
Posted Python与算法社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS|Shell操作命令相关的知识,希望对你有一定的参考价值。
01
—
HDFS中常用的命令
HDFS文件操作常有两种方式;
命令行方式,即Hadoop提供了一套与Linux文件命令类似的命令行工具;
JavaAPI,即利用Hadoop的Java库,采用编程的方式操作HDFS的文件。
Hadoop最常用的文件操作命令,包括添加文件和目录、获取文件、删除文件等。
看下Linux下的shell命令工具
HDFS命令基本格式:hadoop fs -cmd < args >
cmd是具体的文件操作命令,<args>是一组数目可变的参数。
02
—
添加文件和目录
HDFS有一个默认工作目录/usr/$USER,其中$USER是你的登录用户名,作者的用户名是root。该目录不能自动创建,需要执行 mkdir 命令创建。
hadoop fs -mkdir /usr/root
使用Hadoop的命令 put 将本地文件 README.txt 发送到HDFS。
hadoop fs -put README.txt .
注意上面这个命令最后一个参数是句点(.),这意味着把本地文件放入到默认的工作目录,该命令等价于:
hadoop fs -put README.txt /user/root
使用Hadoop的 ls 命令,即
hadoop fs -ls
列出hdfs文件系统根目录下的目录和文件
hadoop fs -ls -R /
列出hdfs文件系统所有的目录和文件
03
—
获取文件README.txt
获取文件包含两层意思:
HDFS从本地文件中获取文件README.txt
本地文件从HDFS中获取文件README.txt,可以使用Hadoop的 get 命令。例如若本地文件没有README.txt文件(即文件不在当前的host中),需要从HDFS中取回,可以执行如下命令。
hadoop fs -get README.txt .
或者
hadoop fs -get README.txt /usr/root/README.txt
04
—
删除文件README.txt
Hadoop删除文件命令为 rm,这个和linux的命令 rm一致。例如要删除从本地文件上传的 README.txt,可以执行如下命令。
hadoop fs -rm README.txt
05
—
检索文件README.txt
检索文件即查阅HDFS中的文件内容,可以使用hadoop中的cat命令。例如要查阅README.txt的内容,可以执行如下命令。
hadoop fs -cat README.txt
另外,hadoop的 cat 命令的输出也可以使用管道传递给Unix 命令的head:
hadoop fs -cat README.txt | head
Hadoop也支持tail命令查看最后一千字节。例如要查阅README.txt最后一千个字节,可以执行如下命令。
hadoop fs -tail README.txt
06
—
help
要了解 ls 命令,可执行如下命令。
hadoop fs -help ls
07
—
命令索引
选项名称 | 使用格式 | 含义 |
-ls | -ls <路径> | 查看指定路径的当前目录结构 |
-lsr | -lsr <路径> | 递归查看指定路径的目录结构 |
-du | -du <路径> | 统计目录下个文件大小 |
-dus | -dus <路径> | 汇总统计目录下文件(夹)大小 |
-count | -count [-q] <路径> | 统计文件(夹)数量 |
-mv | -mv <源路径> <目的路径> | 移动 |
-cp | -cp <源路径> <目的路径> | 复制 |
-rm | -rm [-skipTrash] <路径> | 删除文件/空白文件夹 |
-rmr | -rmr [-skipTrash] <路径> | 递归删除 |
-put | -put <多个linux上的文件> <hdfs路径> | 上传文件 |
-copyFromLocal | -copyFromLocal <多个linux上的文件> <hdfs路径> | 从本地复制 |
-moveFromLocal | -moveFromLocal <多个linux上的文件> <hdfs路径> | 从本地移动 |
-getmerge | -getmerge <源路径> <linux路径> | 合并到本地 |
-cat | -cat <hdfs路径> | 查看文件内容 |
-text | -text <hdfs路径> | 查看文件内容 |
-copyToLocal | -copyToLocal [-ignoreCrc] [-crc] [hdfs源路径] [linux目的路径] | 从本地复制 |
-moveToLocal | -moveToLocal [-crc] <hdfs源路径> <linux目的路径> | 从本地移动 |
-mkdir | -mkdir <hdfs路径> | 创建空白文件夹 |
-setrep | -setrep [-R] [-w] <副本数> <路径> | 修改副本数量 |
-touchz | -touchz <文件路径> | 创建空白文件 |
-stat | -stat [format] <路径> | 显示文件统计信息 |
-tail | -tail [-f] <文件> | 查看文件尾部信息 |
-chmod | -chmod [-R] <权限模式> [路径] | 修改权限 |
-chown | -chown [-R] [属主][:[属组]] 路径 | 修改属主 |
-chgrp | -chgrp [-R] 属组名称 路径 | 修改属组 |
-help | -help [命令选项] | 帮助 |
更多shell命令,请参考官方文档:
http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html
以上是关于HDFS|Shell操作命令的主要内容,如果未能解决你的问题,请参考以下文章