Hadoop3.0大数据处理学习2(HDFS)-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、简介

HDFSHadoop Distributed File System。Hadoop分布式存储系统
一种允许文件通过网络在多台主机上分享的文件系统可以让多机器上的用户分享文件和存储空间。
两大特性通透性、容错性

分布式文件管理系统的实现很多HDFS只是其中一种HDSF不适合存储小文件。GFS、TFS。

二、HDSF的shell

  • 使用格式bin/hdfs dfs -[commond] [schema]/[authority]/[path]
  • HDFS的schema是hdfsauthority是NameNode的节点IP和对应的端口号默认9000path是我们要操作的路径信息。

操作commond

  • ls查询指定路径信息
  • put从本地上传文件
  • cat查看hdfs文件内容
  • get下载文件到本地
  • mkdir [-p]创建文件夹-p递归创建
  • rm [-r]删除文件/文件夹
# 查看
[root@cent7-1 hadoop-3.2.4]# bin/hdfs dfs -ls hdfs://cent7-1:9000/
Found 3 items
drwxr-xr-x   - root supergroup          0 2023-09-07 14:25 hdfs://cent7-1:9000/hbase
drwx-wx-wx   - root supergroup          0 2023-09-01 16:49 hdfs://cent7-1:9000/tmp
drwxr-xr-x   - root supergroup          0 2023-09-01 16:47 hdfs://cent7-1:9000/user
# 上传文件到根目录
[root@cent7-1 hadoop-3.2.4]# bin/hdfs dfs -put README.txt hdfs://cent7-1:9000/
# 查看的简写
[root@cent7-1 hadoop-3.2.4]# bin/hdfs dfs -ls /
Found 4 items
-rw-r--r--   1 root supergroup       1361 2023-10-16 21:35 /README.txt
drwxr-xr-x   - root supergroup          0 2023-09-07 14:25 /hbase
drwx-wx-wx   - root supergroup          0 2023-09-01 16:49 /tmp
drwxr-xr-x   - root supergroup          0 2023-09-01 16:47 /user
# 查看文件内容
[root@cent7-1 hadoop-3.2.4]# bin/hdfs dfs -cat /README.txt
For the latest information about Hadoop, please visit our website at:
# 下载文件
[root@cent7-1 hadoop-3.2.4]# bin/hdfs dfs -get /tmp
[root@cent7-1 hadoop-3.2.4]# ls
bin  etc  include  lib  libexec  LICENSE.txt  nohup.out  NOTICE.txt  README.txt  sbin  share  tmp
# 创建多级文件夹
[root@cent7-1 hadoop-3.2.4]# hdfs dfs -mkdir /dirtest
[root@cent7-1 hadoop-3.2.4]# hdfs dfs -mkdir /dirtest/xixi
## 或者使用命令[root@cent7-1 hadoop-3.2.4]# hdfs df s -mkdir -p /dirtest/xixi
[root@cent7-1 hadoop-3.2.4]# hdfs dfs -ls /
Found 5 items
-rw-r--r--   1 root supergroup       1361 2023-10-16 21:35 /README.txt
drwxr-xr-x   - root supergroup          0 2023-10-16 21:51 /dirtest
drwxr-xr-x   - root supergroup          0 2023-09-07 14:25 /hbase
drwx-wx-wx   - root supergroup          0 2023-09-01 16:49 /tmp
drwxr-xr-x   - root supergroup          0 2023-09-01 16:47 /user
# 删除文件
[root@cent7-1 hadoop-3.2.4]# hdfs dfs -rm /README.txt
Deleted /README.txt
# 删除文件夹
[root@cent7-1 hadoop-3.2.4]# hdfs dfs -rm -r /dirtest
Deleted /dirtest

三、HDFS体系结构

  • hdfs包含NameNode、SecondaryNameNode、DataNode前俩个是在主节点启动DataNode在从节点启动。而伪分布式启动三个

NameNode管理节点

  • NameNode是整个文件系统的管理节点主要维护整个文件系统的文件目录树文件/目录的元信息每个文件对应的数据块列表并且还负责接受用户的操作请求。
  • NameNode文件保存在内存中并持久化到磁盘的repo/dfs/name/current目录。包含以下文件类型fsimage某一时刻的元数据快照、edits修改操作日志、seed_txid存储edits文件id在重启时会按顺序执行来恢复元数据信息。如果发现文件不存在则NameNode不会启动、VERSION版本信息。
  • 上面的文件保存路径是由hdfs-default.xml文件中的dfs.namenode.name.dir属性控制

SecondaryNameNode合并操作

  • 主要负责定期的把edits文件中的内容合并到fsimages中
  • 这个合并操作称为checkpoint在合并的时候会对edits中的内容进行转换生成新的内容保存到fsimages文件中
  • 距离上一次checkpoint已有一小时或者对hdfs进行了100W次的操作。
  • 注意在NameNode的HA架构中是没有SecondaryNameNode进程的这个文件合并操作是由Standby NameNode负责实现的。

DataNode从节点

  • 提供真实文件数据的存储服务
  • HDFS会按照固定的大小、顺序来对文件进行划分编号划分好的每个文件块称为BlockHdfs默认Block大小是128MB。
  • HDFS中如果一个文件小于一个数据块的大小那么并不会占用整个数据块的存储空间。

总结

NameNode维护了两份关系

  1. 第一个是File和Block List的关系对应的关系信息存储在fsimages和edits文件中当NameNode启动的时候会把文件中的内容加载到内存中
  2. 第二个关系DataNode与Block的关系当DataNode启动的时候会把当前节点上的Block信息和节点信息上报给NameNode
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Hadoop