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

1、启动Hadoop集群

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

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

四、hdfs文件系统基础操作-保姆级教程_第1张图片

四、hdfs文件系统基础操作-保姆级教程_第2张图片

2、文件系统构成

(1)基础介绍        

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

四、hdfs文件系统基础操作-保姆级教程_第3张图片

(2)区分路径

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

四、hdfs文件系统基础操作-保姆级教程_第4张图片

四、hdfs文件系统基础操作-保姆级教程_第5张图片

3、hdfs命令体系

四、hdfs文件系统基础操作-保姆级教程_第6张图片

4、hdfs文件系统基础操作

(1)前言

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

(2)创建文件夹

四、hdfs文件系统基础操作-保姆级教程_第7张图片

(3)查看指定目录内容

·基础命令格式

四、hdfs文件系统基础操作-保姆级教程_第8张图片

·实际操作基础演示

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)上传文件

·基础格式

四、hdfs文件系统基础操作-保姆级教程_第9张图片

·路径:

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文件系统基础操作-保姆级教程_第10张图片

·实际操作演示

【解释】:这里查看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

·基础格式

四、hdfs文件系统基础操作-保姆级教程_第11张图片

·实际操作演示

在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文件系统基础操作-保姆级教程_第12张图片

·实际操作演示

【解释】:为了方便,这里我们删除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

·基础格式

四、hdfs文件系统基础操作-保姆级教程_第13张图片

· 实际操作演示

        在这里,我们将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

·基础格式

四、hdfs文件系统基础操作-保姆级教程_第14张图片

·实际操作演示

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文件系统基础操作-保姆级教程_第15张图片

·实际操作演示

【解释】:删除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

·第二步:修改参数

        
                fs.trash.interval
                1440
        

        
                fs.trash.checkpoint.interval
                120
        

·第三步:实际操作演示

回收站地址:

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

你可能感兴趣的:(Hadoop,hdfs,hadoop,大数据,数据库)