HDFS简介HDFS即Hadoop Distributed File System , 是一个分布式文件系统 , 用于存储海量数据 。一个HDFS集群由一个NameNode和多个DataNode组成 。
HDFS特性
- 主从架构
- 分块存储
- 副本机制
- 元数据记录
- 抽象目录树
- Hadoop内置提供了shell命令行,格式为hadoop fs 参数 。前面hadoop fs为固定搭配,表示操作的是文件系统,具体操作的文件系统则看参数中文件路径url的前缀协议 。示例如下:
[root@node1 ~]# hadoop fs -ls file:///Found 21 items-rw-r--r--1 root root0 2021-10-26 14:27 file:///.autorelabeldr-xr-xr-x- root root28672 2021-10-26 15:12 file:///bindr-xr-xr-x- root root4096 2020-09-11 14:44 file:///bootdrwxr-xr-x- root root3260 2022-10-25 19:23 file:///devdrwxr-xr-x- root root8192 2022-10-25 19:23 file:///etcdrwxr-xr-x- root root48 2021-10-26 15:15 file:///exportdrwxr-xr-x- root root6 2018-04-11 12:59 file:///homedr-xr-xr-x- root root4096 2020-09-11 14:40 file:///libdr-xr-xr-x- root root24576 2020-09-11 14:40 file:///lib64drwxr-xr-x- root root6 2018-04-11 12:59 file:///mediadrwxr-xr-x- root root6 2018-04-11 12:59 file:///mntdrwxr-xr-x- root root16 2020-09-11 14:40 file:///optdr-xr-xr-x- root root0 2022-10-25 19:23 file:///procdr-xr-x---- root root4096 2022-10-24 21:15 file:///rootdrwxr-xr-x- root root840 2022-10-25 19:23 file:///rundr-xr-xr-x- root root16384 2021-10-26 15:13 file:///sbindrwxr-xr-x- root root6 2018-04-11 12:59 file:///srvdr-xr-xr-x- root root0 2022-10-25 19:23 file:///sysdrwxrwxrwt- root root4096 2022-10-25 19:34 file:///tmpdrwxr-xr-x- root root155 2020-09-11 14:39 file:///usrdrwxr-xr-x- root root4096 2020-09-11 14:46 file:///var[root@node1 ~]# hadoop fs -ls hdfs://node1:8020/Found 3 itemsdrwxr-xr-x- root supergroup0 2022-10-24 21:14 hdfs://node1:8020/itcastdrwx------- root supergroup0 2021-10-26 15:20 hdfs://node1:8020/tmpdrwxr-xr-x- root supergroup0 2021-10-26 15:23 hdfs://node1:8020/user[root@node1 ~]# hadoop fs -ls /Found 3 itemsdrwxr-xr-x- root supergroup0 2022-10-24 21:14 /itcastdrwx------- root supergroup0 2021-10-26 15:20 /tmpdrwxr-xr-x- root supergroup0 2021-10-26 15:23 /user[root@node1 ~]# hdfs dfs -ls /Found 3 itemsdrwxr-xr-x- root supergroup0 2022-10-24 21:14 /itcastdrwx------- root supergroup0 2021-10-26 15:20 /tmpdrwxr-xr-x- root supergroup0 2021-10-26 15:23 /user
- shell命令行常用操作HDFS shell命令行的常用操作基本与Linux相同 。具体如下:
- 创建文件夹:hadoop fs -mkdir -p
[root@node1 ~]# hadoop fs -mkdir -p /study/hdfs[root@node1 ~]# hdfs dfs -ls /Found 4 itemsdrwxr-xr-x- root supergroup0 2022-10-24 21:14 /itcastdrwxr-xr-x- root supergroup0 2022-10-25 20:11 /studydrwx------- root supergroup0 2021-10-26 15:20 /tmpdrwxr-xr-x- root supergroup0 2021-10-26 15:23 /user
- 显示文件:hadoop fs -ls -h
[root@node1 ~]# hadoop fs -mkdir -p /study/hdfs[root@node1 ~]# hdfs dfs -ls /Found 4 itemsdrwxr-xr-x- root supergroup0 2022-10-24 21:14 /itcastdrwxr-xr-x- root supergroup0 2022-10-25 20:11 /studydrwx------- root supergroup0 2021-10-26 15:20 /tmpdrwxr-xr-x- root supergroup0 2021-10-26 15:23 /user[root@node1 ~]# hadoop fs -put anaconda-ks.cfg /study/hdfs[root@node1 ~]# hadoop fs -ls /study/hdfsFound 1 items-rw-r--r--3 root supergroup1340 2022-10-25 20:14 /study/hdfs/anaconda-ks.cfg[root@node1 ~]# hadoop fs -ls -h /study/hdfsFound 1 items-rw-r--r--3 root supergroup1.3 K 2022-10-25 20:14 /study/hdfs/anaconda-ks.cfg
- 上传文件:hadoop fs -put
[root@node1 ~]# echo 2222 > 2.txt[root@node1 ~]# hadoop fs -put file:///root/2.txt hdfs://node1:8020/study/hdfs
文章插图
- 查看文件:hadoop fs -cat
# hadoop fs -cat /itcast/anaconda-ks.cfg
- 下载文件:hadoop fs -get
[root@node1 ~]# ll总用量 32-rw-r--r--1 root root2 10月 24 21:15 1.txt-rw-------. 1 root root1340 9月11 2020 anaconda-ks.cfgdrwxr-xr-x2 root root55 10月5 00:08 hivedata-rw-------1 root root 23341 10月5 00:11 nohup.out[root@node1 ~]# hadoop fs -get hdfs://node1:8020/itcast/2.txt file:///root/[root@node1 ~]# ll总用量 36-rw-r--r--1 root root2 10月 24 21:15 1.txt-rw-r--r--1 root root5 10月 25 21:08 2.txt-rw-------. 1 root root1340 9月11 2020 anaconda-ks.cfgdrwxr-xr-x2 root root55 10月5 00:08 hivedata-rw-------1 root root 23341 10月5 00:11 nohup.out[root@node1 ~]# hadoop fs -get /itcast/2.txt ./666.txt
- 拷贝文件:hadoop fs -cd
- 追加数据到HDFS文件中:hadoop fs -appendToFile 注意!这个命令需要把集群全部打开 , 因为它涉及到了datanode节点,具体想了解的话可以看我上一篇博客
[root@node1 ~]# hadoop fs -appendToFile 1.txt 3.txt /2.txt[root@node1 ~]# hadoop fs -cat /2.txt222213
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 【一】ERNIE:飞桨开源开发套件,入门学习,看看行业顶尖持续学习语义理解框架,如何取得世界多个实战的SOTA效果?
- C# 7.0 添加和增强的功能【基础篇】
- 零基础如何学游戏编程(游戏编程学习入门)
- 机器学习实战-AdaBoost
- HDFS追加数据报错解决办法
- Pytorch模型量化
- 三 【单片机入门】应用层软件开发的单片机学习之路-----UART串口通讯和c#交互
- 二 【SSM】学习笔记——SpringMVC入门
- C# 6.0 添加和增强的功能【基础篇】
- 1 HTML元素大全