hdfs命令行操作

news/2024/5/20 1:29:55 标签: hdfs, hadoop, 大数据

文章目录

    • 1. 对文件夹进行操作
      • 1.1 ls:对路径进行访问
      • 1.2 mkdir:对路径进行创建
      • 1.3 rm:对路径进行删除
    • 2.对文件进行操作
      • 2.1在文件系统中创建空文件
      • 2.2上传本地文件到hdfs
      • 2.3 从hdfs上下载文件到本地路径
      • 2.4 查看hdfs 上的文件内容
      • 2.5 对hdfs上的文件进行复制
      • 2.6 追加本地文件内容到hdfs文件中
      • 2.7 将hdfs上的多个文件合并成一个文件
      • 2.8 修改文件的权限
    • 3. 判断操作
      • 3.1 使用test命令进行判断

1. 对文件夹进行操作

1.1 ls:对路径进行访问

使用ls命令可以查看文件系统中的目录和文件
hadoop fs -ls 需要被查看的目录

-- 查看hdfs上的根目录
hadoop fs -ls  /

-R 代表递归查询
hadoop fs -ls -R /


1.2 mkdir:对路径进行创建

使用mkdir命令可以在文件系统中创建目录
hadoop fs -mkdir 需要创建的目录

--hdfs根路径下创建test01目录
hadoop fs -mkdir /test01

-p 代表递归创建目录
hadoop fs -mkdir -p /study/test

在这里插入图片描述

1.3 rm:对路径进行删除

使用rm命令可以在文件系统中删除目录或者文件

hadoop fs -rm 需要删除的文件
-r 递归删除目录

-- 删除/test01目录
hadoop fs -rm -r /test01

在这里插入图片描述

2.对文件进行操作

2.1在文件系统中创建空文件

使用touch和touchz命令可以在文件系统中创建空文件

-- 在根路径下创建touch.txt文件

hadoop fs -touch /touch.txt

hadoop fs -touchz /touchz.txt

在这里插入图片描述

hdfs_59">2.2上传本地文件到hdfs

使用put命令进行本地文件上传,上传完成后,本地文件依然保留

hadoop fs -put 本地文件路径  上传的hdfs文件路径

-- 上传本地路径/opt/file/put.txt到hdfs上的根路径
mkdir /opt/file/
vi /opt/file/put.txt 
hadoop fs -put /opt/file/put.txt  /

使用moveFromLocal命令也可以进行本地文件上传,但上传完成后,本地文件被会删除

hadoop fs -moveFromLocal 本地文件路径 上传的hdfs文件路径

-- 上传本地路径/opt/file/moveFromLocal.txt到hdfs上的根路径

vi /opt/file/moveFromLocal.txt 
hadoop fs -moveFromLocal /opt/file/moveFromLocal.txt /

在这里插入图片描述

查看上传结果:

在这里插入图片描述

在这里插入图片描述

hdfs_93">2.3 从hdfs上下载文件到本地路径

使用get命令进行下载

hadoop fs -get hdfs上的文件路径  文件下载后的本地路径

-- 下载hdfs上:  /moveFromLocal.txt到本地路径/opt/file

hadoop fs -get  /moveFromLocal.txt  /opt/file

hdfs__105">2.4 查看hdfs 上的文件内容

使用cat命令进行文件内容查看

hadoop fs -cat 要查看的文件

-- 查看/put.txt文件中的内容

hadoop fs -cat /put.txt

cat命令也可以同时查看多个文件,多个文件路径使用空格进行分割,多个文件内容会被合并依次输出

hadoop fs -cat 要查看的文件1  要查看的文件2 ...
hadoop fs -cat  /moveFromLoca1.txt  /put.txt

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

hdfs_127">2.5 对hdfs上的文件进行复制

使用cp命令可以复制hdfs上的文件到另一位置,在复制过程中可以对文件名进行修改,复制完成后源文件依然存在

hadoop fs -cp 源文件的路径 复制后的路径和文件名

-- 复制/put.txt到/test目录中 文件名不变
hadoop fs -cp /put.txt /test/put.txt

-- 复制/put.txt到/test目录中文件名修改为cp.txt
hadoop fs -cp /put.txt /test/cp.txt

使用mv命令也可以复制hdfs上的文件到另一位置,在复制过程中可以对文件名进行修改,复制完成后源文件会被删除

hadoop fs -mv 源文件的路径 复制后的路径和文件名
-- 复制/moveFromLocal.txt到/test目录下文件名修改为mv.txt

hadoop fs -mv /moveFromLocal.txt  /test/mv.txt

hdfs_151">2.6 追加本地文件内容到hdfs文件中

使用appendToFile命令进行内容追加

hadoop fs -appendToFile 本地文件路径 要追加内容的hdfs文件路径

-- 将本地/opt/file/append.txt中的内容追加到hdfs上的/test/mv.txt中
vi /opt/file/append.txt
hadoop fs -appendToFile /opt/file/append.txt /test/mv.txt

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

hdfs_168">2.7 将hdfs上的多个文件合并成一个文件

使用getmerge命令合并多文件

--hdfs上的/test目录中所有文件后缀为txt的文件,合并到本地/opt/file/getmerge.txt文件中
hadoop fs -getmerge /test/*.txt /opt/file/getmerge.txt

在这里插入图片描述

在这里插入图片描述

2.8 修改文件的权限

权限解读,如:
对a.doc 的权限为:
-rw-r–r–
可以看成
- rw- r-- r–

第一个-: 代表为文件
第一组rw-: 代表当前用户root的权限, root用户对该文件拥有读和写的权限而没有执行权限
第二组r–: 代表当前用户所属的组的权限, root组中用户对该文件只拥有读的权限
第三组r–: 代表其他用户的权限,其他用户对该文件只拥有读的权限

权限规则: 读的权限为4 写的权限为2 执行的权限为1

更改:chmod 764 /opt/file/a.doc

- rwxrw-r–

使用chmod命令进行文件权限的修改

hadoop fs -chmod 777 /touch.txt

在这里插入图片描述

3. 判断操作

3.1 使用test命令进行判断

-- 判断hdfs上的文件是否存在
hadoop fs -test -e /touch.txt
echo $?

-- 判断hdfs上的路径是否为目录
hadoop fs -test -d /test
echo $?

-- 判断hdfs上的文件是否为空
hadoop fs -test -z /touch.txt
echo $?

命令执行后,可以使用echo $? 查看命令执行结果
0:true 1:false

在这里插入图片描述

其他文章:Hadoop复习回顾https://blog.csdn.net/m0_48170265/article/details/130035727


http://www.niftyadmin.cn/n/223581.html

相关文章

HttpServletRespon

1、HttpServletRespon对象 在Servlet API中,定义了一个HttpResponse接口,它继承于ServletResponse接口,专门用于封装HTTP响应消息 HTTP响应消息分为响应状态行、响应消息头、响应消息体三部分,所以HttpResponse接口中定义了向客…

cookie简介(前端)

目录 一、作用 二、特点 1、按照域名存储的(必须在服务器上打开) 2、按照文件路径存储 3、Cookie的存储是按照字符串的形式存储的 4、存储大小(4KB左右) 5、时效性 6、操作权限(前后端都可操作) 7、请求自…

如何排查线上环境CPU100%问题

如何排查线上环境CPU100%问题 cpu爆满的原因可能:1、形成了死锁。2、形成了死循环 死锁的检查: 方式一: 可通过jps或者ps -ef | grep java的命令查看到运行程序的PID使用jstack -l pid 命令查看线程的堆栈信息,-l是小写L 方式二…

HCIP之MPLS

目录 MPLS MPLS --- 多协议标签交换 包交换 标签交换 包交换的变更 MPLS主要应用于三大领域 ​编辑 MPLS和包交换一样,其过程也可以分为控制层面和数据层面 标签交换过程(数据层流量) 标签解读 静态搭建LSP 创建路由条件 配置MPL…

Python 异常处理之try except else

try ... except 语句具有可选的 else 子句,该子句如果存在,它必须放在所有 except 子句 之后。 它适用于 try 子句 没有引发异常但又必须要执行的代码。 例如: for arg in sys.argv[1:]:try:f open(arg, r)except OSError:print(cannot open, arg)else…

【Python】pip 和 conda install、list的区别,是否一致

【Python】pip 和 conda install、list的区别,是否一致 文章目录【Python】pip 和 conda install、list的区别,是否一致1. 介绍2. 看效果2.1 首先,conda 创建环境2.2 然后,激活环境2.3 查看环境下已经安装包列表2.4 安装新的包&am…

【学习积累】Queue 与 ConcurrentQueue性能测试

在 C# 中&#xff0c;关于队列&#xff08;Queue&#xff09;有两种&#xff0c;一种就是我们普通使用的队列&#xff0c;另一种是线程安全的队列 ConcurrentQueue<T> 。 ConcurrentQueue表示线程安全的先进先出 (FIFO) 集合。https://learn.microsoft.com/zh-cn/dotnet…

java线程屏障CyclicBarrier

CyclicBarrier允许一组线程在达到一个公共的屏障点时相互等待。它在涉及固定大小的线程组、并且这些线程必须相互等待的程序中非常有用&#xff0c;CyclicBarrier可以在等待的线程被释放后被重用。 构造方法 CyclicBarrier(int parties) 创建一个新的屏障并设置将要访问这个…