前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HDFS|Shell操作命令

HDFS|Shell操作命令

作者头像
double
发布2018-04-02 16:22:41
1.4K0
发布2018-04-02 16:22:41
举报
文章被收录于专栏:算法channel算法channel

01

HDFS中常用的命令

HDFS文件操作常有两种方式;

  1. 命令行方式,即Hadoop提供了一套与Linux文件命令类似的命令行工具;
  2. 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

获取文件包含两层意思:

  1. HDFS从本地文件中获取文件README.txt
  2. 本地文件从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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档