当前位置: 首页 > article >正文

四、hdfs文件系统基础操作-保姆级教程

1、启动Hadoop集群

        想要使用hdfs文件系统,就先要启动Hadoop集群。

启动集群:
start-dfs.sh
关闭集群:
stop-dfs.sh

2、文件系统构成

(1)基础介绍        

其实hdfs作为分布式存储的文件系统,其构成和Linux文件系统构成差不多一样,均是以“/”作为根目录的组织形式。

(2)区分路径

        在以Hadoop用户作为Linux本地用户使用hdfs文件系统时,因为两者的命令结构十分相似,这里我们该如何区分呢?

3、hdfs命令体系

4、hdfs文件系统基础操作

(1)前言

        在学习hdfs文件系统基础操作之后,你会发现hdfs文件系统的操作和Linux文件系统的操作十分相似,两者之间为数不多的区别就是hdfs文件系统在使用命令名时,需要在命令名前加上“-”。

(2)创建文件夹

(3)查看指定目录内容

·基础命令格式

·实际操作基础演示

hadoop@node1:~$ hadoop fs -ls /
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2023-11-16 23:34 /home
hadoop@node1:~$ hdfs dfs -ls /
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2023-11-16 23:34 /home

·-R选项演示

【解释】:-R选项会将当前目录下的所有文件关系罗列出来,就像二叉树的遍历一样。

hadoop@node1:~$ hdfs dfs -ls -R /
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home/code1
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home/code1/thing
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home/code2
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home/code3

(4)上传文件

·基础格式

·路径:

Linux——>hdfs

·实际操作演示

【解释】:这里将本地Hadoop用户根目录下的text.txt文件,上传到hdfs文件系统根目录下。

hadoop@node1:~$ ls
text.txt
hadoop@node1:~$ hdfs dfs -put file:///home/hadoop/text.txt hdfs://node1:8020/
hadoop@node1:~$ hdfs dfs -ls /
Found 2 items
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home
-rw-r--r--   3 hadoop supergroup         22 2023-11-18 10:38 /text.txt

(5)查看文件内容

·基础格式

·实际操作演示

【解释】:这里查看hdfs文件系统根目录下text.txt的文件内容

hadoop@node1:~$ hdfs dfs -cat hdfs://node1:8020/text.txt
yanghaitao
hahaha
666

·管道符and“more”的使用

        但是对于hadoop来说,通常都是处理几十个G的大数据,这里我们可以借助管道符more进行操作查看。more:Linux中,文件内容进行翻页的命令:

hadoop@node1:~$ hdfs dfs -cat hdfs://node1:8020/code.txt
不写协议头
上传文件
从Linux文件系统——>hdfs文件系统
yanghaitao
hahaha
666
yanghaitao
hahaha
666
yanghaitao
hahaha
666
yanghaitao
hahaha
666
yanghaitao
hahaha
666
yanghaitao
hahaha
666
yanghaitao
hahaha
666
[more]……

(6)下载内容

·路径

hdfs——>Linux

·基础格式

·实际操作演示

在hadoop本地创建一个文件夹mkdir YHT,将从hdfs下载的文件存储到该文件夹中。

hadoop@node1:~$ hdfs dfs -get hdfs://node1:8020/text.txt ./YHT
hadoop@node1:~$ cd YHT
hadoop@node1:~/YHT$ ls
text.txt

(7)拷贝文件

·路径

hdfs——>hdfs

·基础格式

·实际操作演示

【解释】:为了方便,这里我们删除hdfs://node1:8020/home目录下的所有文件,然后将hdfs根目录下code.txt的文件复制到hdfs根目录下的home目录内:

hadoop@node1:~$ hdfs dfs -cp hdfs://node1:8020/code.txt hdfs://node1:8020/home
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/home
Found 1 items
-rw-r--r--   3 hadoop supergroup        667 2023-11-18 11:17 hdfs://node1:8020/home/code.txt

还有,我们在复制的同时,实现文件的重命名工作:

【操作解释】:此处将hdfs://node1:8020/text.txt复制到hdfs://node1:8020/home/new.txt,并将文件名改为new.txt
hadoop@node1:~$ hdfs dfs -cp hdfs://node1:8020/text.txt hdfs://node1:8020/home/new.txt
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/home
Found 2 items
-rw-r--r--   3 hadoop supergroup        667 2023-11-18 11:17 hdfs://node1:8020/home/code.txt
-rw-r--r--   3 hadoop supergroup         22 2023-11-18 11:22 hdfs://node1:8020/home/new.txt

·注意

        整个hdfs文件系统,文件的修改只支持两种,那就是删除和追加。

(8)追加数据

·路径

Linux——>hdfs

·基础格式

· 实际操作演示

        在这里,我们将Hadoop用户根目录下的append.txt文件,追加到hdfs文件系统的根目录下text.txt的文件中。

hadoop@node1:~$ hdfs dfs -cat hdfs://node1:8020/text.txt
yanghaitao
hahaha
666
hadoop@node1:~$ cat append.txt
I'm append things.
from hadoop to hdfs://node1:8020/text.txt
hadoop@node1:~$ hdfs dfs -appendToFile append.txt hdfs://node1:8020/text.txt
hadoop@node1:~$ hdfs dfs -cat hdfs://node1:8020/text.txt
yanghaitao
hahaha
666
I'm append things.
from hadoop to hdfs://node1:8020/text.txt

(9)移动文件数据

·路径

hdfs——>hdfs

·基础格式

·实际操作演示

hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/
Found 2 items
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 11:22 hdfs://node1:8020/home
-rw-r--r--   3 hadoop supergroup         83 2023-11-18 11:33 hdfs://node1:8020/text.txt
hadoop@node1:~$ hdfs dfs -mv hdfs://node1:8020/text.txt hdfs://node1:8020/home/
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/home
Found 3 items
-rw-r--r--   3 hadoop supergroup        667 2023-11-18 11:17 hdfs://node1:8020/home/code.txt
-rw-r--r--   3 hadoop supergroup         22 2023-11-18 11:22 hdfs://node1:8020/home/new.txt
-rw-r--r--   3 hadoop supergroup         83 2023-11-18 11:33 hdfs://node1:8020/home/text.txt

(10)删除数据

·基础格式

·实际操作演示

【解释】:删除hdfs://node1:8020/home文件夹

hadoop@node1:~$ hdfs dfs -rm -r hdfs://node1:8020/home/
Deleted hdfs://node1:8020/home
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/

(11)配置回收站

·第一步:修改配置文件

vim /export/server/hadoop/etc/hadoop/core-site.xml

·第二步:修改参数

        <property>
                <name>fs.trash.interval</name>
                <value>1440</value>
        </property>

        <property>
                <name>fs.trash.checkpoint.interval</name>
                <value>120</value>
        </property>

·第三步:实际操作演示

回收站地址:

hdfs://node1:8020/user/hadoop/.Trash/Current

在hdfs://node1:8020/home目录下创建名为thing.txt的文件,删除演示:

# 删除hdfs文件系统home目录下的thing.txt文件
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/home/
Found 1 items
-rw-r--r--   3 hadoop supergroup          0 2023-11-18 12:27 

hdfs://node1:8020/home/thing.txt
hadoop@node1:~$ hdfs dfs -rm -r hdfs://node1:8020/home/thing.txt
2023-11-18 12:28:08,439 INFO fs.TrashPolicyDefault:Moved:'hdfs://node1:8020/home/thing.txt' to trash at: hdfs://node1:8020/user/hadoop/.Trash/Current/home/thing.txt

# 进入回收,可以看到刚刚被删除的thing.txt文件
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/user/hadoop/.Trash/Current
Found 1 items
drwx------   - hadoop supergroup          0 2023-11-18 12:28  hdfs://node1:8020/user/hadoop/.Trash/Current/home


http://www.kler.cn/a/134638.html

相关文章:

  • 词嵌入方法(Word Embedding)
  • hadoop大数据平台
  • 【Hadoop实训】Hive 数据操作①
  • Camera Tuning中AE/AWB/AF基础知识介绍
  • Tomcat与Nginx之全面比较
  • kettle开发-Day43-数据对比
  • learning项目总结
  • 后端技术知识点内容-全部内容-面试宝典-后端面试知识点
  • SBPL 打印机上传图片
  • 小程序如何添加打印机来打印订单
  • C进阶---文件操作
  • 根据音频绘制频谱
  • 基于像素特征的kmeas聚类的图像分割方案
  • 安全测试工具分为 SAST、DAST和IAST 您知道吗?
  • 【开源】基于Vue.js的智能教学资源库系统
  • GCC多平台编译会遇到小问题
  • Codewhisperer 使用评价
  • 机器学习技术栈—— 概率学基础
  • markdown 公式编辑
  • 用户运营:如何搭建用户分析体系
  • 三极管与mos管的区分与应用
  • RT-DETR优化改进:SEAM、MultiSEAM分割物与物相互遮挡、分割小目标性能
  • 零基础安装分布式数据服务注册系统
  • SpringCache
  • 【开源】基于JAVA的校园二手交易系统
  • 微服务和Spring Cloud Alibaba介绍