HDFS分布式文件系统知识点梳理(一)
HDFS分布式文件系统
一、HDFS简介
HDFS是Hadoop Distribute File System,翻译成中文就是Hadoop 分布式文件系统,它是Hadoop的核心组成部分,是一个分布式存储服务。
HDFS实现了横跨多台计算机进行文件管理的功能,这就为存储和处理超大规模的数据提供所需要的扩展能力。
HDFS是分布式文件系统中的一种,广泛应用于大数据。
二、HDFS重要概念
HDFS通过统一的命名空间目录树来定位文件;它是通过集群的架构来实现其功能,集群中的服务器有各自的角色。
HDFS是典型的的MAster/Slave架构(主从)
HDFS集群往往是由一个NameNode + 多个DataNode组成,其中NameNode是集群的主节点,而DataNode是集群的从节点。(在HA架构中会存在两个NameNode,这是一种联邦机制)
分块存储(block机制)
HDFS中的文件在物理上是分块存储的,块的大小可以通过配置参数来决定;
Hadoop2.x版本中默认的block大小为128M。
命名空间(NameSpace)
HDFS支持传统的层次型的文件组织结构,客户端可以去创建目录,然后将文件保存在这些目录中,而文件系统名字空间的层次结构也和现有的大多数文件系统类似。
HDFS提供给客户一个抽象的目录树,访问形式为:hdfs://namenode的hostname:端口号/具体的文件目录
NameNode元数据管理
我们把目录结构以及文件分块位置信息叫做元数据。
NameNode的元数据记录了每一个文件所对应的block信息,包括block的id以及所在的DataNode节点的信息。
DataNode数据存储
文件的各个block的具体存储管理由DataNode节点来承担。一个block会有多个DataNode来存储,DataNode会定时向NameNode来汇报自己持有的block信息。
副本机制
为了容错,文件所有的block都会有副本。每个文件的block大小和副本系数都是可配置的。应用程序可以指定某个文件的副本数目。副本系数可以在文件创建的时候指定,也可以在之后改变。副本的数量默认是3个。
一次写入,多次读出
HDFS是设计成适应一次写入,多次读出的场景,且不支持文件的随机修改。(支持追加写入insert操作,不支持随机更新update操作),因此它适合用来做大数据分析的底层存储服务。
三、HDFS架构

- NameNode:HDFS集群的管理者,是架构中的Master节点
- 维护管理hdfs的名称空间-NameSpace
- 维护副本策略
- 记录文件块Block的映射信息
- 负责处理客户端读写请求
- DataNode:NameNode下达命令,DataNode执行实际的操作,是架构中的Slave节点
- 保存实际的数据块
- 负责数据块的读写
- Client:客户端
- 上传文件到HDFS的时候,Client负责将文件切分成Block,然后进行上传
- 请求NameNode交互,获取文件的位置信息
- 读取或写入文件,与DataNode交互
- Client可以使用一些命令来管理HDFS或者访问HDFS
四、HDFS客户端操作
4.1 Shell命令行操作HDFS
1.基本语法
bin/hadoop fs 具体命令
bin/hdfs dfs 具体命令
2.常用命令演示
# -help:输出某个命令参数
hadoop fs -help + 命令
# -ls:显示目录信息
hadoop fs -ls /
# -mkdir:在hdfs上创建目录
hadoop fs -mkdir -p /zae/bigdata
# -moveFromLocal:将本地的剪切粘粘到HDFS
touch hadoop.txt
hadoop fs -moveFromLocal ./hadoop.txt /zae/bigdata
# -appendToFile:追加一个文件到已经存在的文件结尾
touch new.txt
vi new.txt
在文件中输入:namenode datanode block replication
保存后键入命令:
Hadoop fs -appendToFile new.txt /zae/bigdata/old.txt
# -cat 显示文件内容
hadoop fs -cat /zae/bigdata/hadoop.txt
# -chgrp修改文件所在组群,-chmod修改文件的权限 -chown修改文件所有者
hadoop fs -chmod 666 /zae/bigdata/hadoop.txt
hadoop fs -chown root:root /zae/bigdata/hadoop.txt
# -copyFromLocal:从本地文件系统中拷贝文件到HDFS路径中去
hadoop fs -copyFromLocal README.txt
# -copyToLocal:从HDFS拷贝到本地
hadoop fs -copyToLocal /zae/bigdata/hadoop.txt ./
# -cp:从HDFS的一个路径拷贝到HDFS的另一个路径
hadoop fs -cp /zae/bigdata/hadoop.txt /hdfs.txt
# -mv:在HDFS目录中移动文件
hadoop fs -mv /hdfs.txt /zae/bigdata/
# -get:等同于copyToLocal,将HDFS文件下载到本地
hadoop fs -get /lagou/bigdata/hadoop.txt ./
# -put:等同于copyFromLocal
hadoop fs -mkdir -p /user/root/test/ #在HDFS中创建多级目录文件夹
touch yarn.txt #在本地文件系统创建yarn.txt文件
vim yarn.txt #编辑文件,随便写些内容
hadoop fs -put ./yarn.txt /user/root/test/
# -tail:显示一个文件的末尾
hadoop fs -tail /user/root/test/yarn.txt
# -rm:删除文件或者文件夹
hadoop fs -rm /user/root/test/yarn.txt
# -rmdir:删除空目录
hadoop fs -mkdir /test #创建
hadoop fs -rmdir /test #删除
#-du统计文件夹的大小信息
hadoop fs -du -s -h /user/root/test
hadoop fs -du -h /user/root/test
# -setrep:设置HDFS中文件的副本数量
hadoop fs -setrep 10 /zae/bigdata/hadoop.txt
(备注,这里设置的副本数只是记录在NameNode的元数据中,是否真的会产生那么多的副本,还是得看DataNode的数量。比如如果目前仅仅有3个设备,那么即使设置了10,那最多也只能有3个副本,只有当DataNode节点数增加到10的时候,副本数才有可能达到10)
HDFS分布式文件系统知识点梳理(一)的更多相关文章
- HDFS分布式文件系统资源管理器开发总结
HDFS,全称Hadoop分布式文件系统,作为Hadoop生态技术圈底层的关键技术之一,被设计成适合运行在通用硬件上的分布式文件系统.它和现有的分布式文件系统有很多共同点,但同时,它和其他的分布式 ...
- 通过Thrift访问HDFS分布式文件系统的性能瓶颈分析
通过Thrift访问HDFS分布式文件系统的性能瓶颈分析 引言 Hadoop提供的HDFS布式文件存储系统,提供了基于thrift的客户端访问支持,但是因为Thrift自身的访问特点,在高并发的访问情 ...
- Hadoop HDFS分布式文件系统 常用命令汇总
引言:我们维护hadoop系统的时候,必不可少需要对HDFS分布式文件系统做操作,例如拷贝一个文件/目录,查看HDFS文件系统目录下的内容,删除HDFS文件系统中的内容(文件/目录),还有HDFS管理 ...
- Hadoop基础-HDFS分布式文件系统的存储
Hadoop基础-HDFS分布式文件系统的存储 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS数据块 1>.磁盘中的数据块 每个磁盘都有默认的数据块大小,这个磁盘 ...
- 认识HDFS分布式文件系统
1.设计基础目标 (1) 错误是常态,需要使用数据冗余 (2)流式数据访问.数据批量读而不是随机速写,不支持OLTP,hadoop擅长数据分析而不是事物处理. (3)文件采用一次性写多次读的模型, ...
- 1、HDFS分布式文件系统
1.HDFS分布式文件系统 分布式存储 分布式计算 2.hadoop hadoop含有四个模块,分别是 common. hdfs和yarn. common 公共模块. HDFS hadoop dist ...
- 我理解中的Hadoop HDFS分布式文件系统
一,什么是分布式文件系统,分布式文件系统能干什么 在学习一个文件系统时,首先我先想到的是,学习它能为我们提供什么样的服务,它的价值在哪里,为什么要去学它.以这样的方式去理解它之后在日后的深入学习中才能 ...
- 大数据基础总结---HDFS分布式文件系统
HDFS分布式文件系统 文件系统的基本概述 文件系统定义:文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易. 文件名:在文件系统中,文件名是用于定位存储位置. 元数据(Metad ...
- hdfs(分布式文件系统)优缺点
hdfs(分布式文件系统) 优点 支持超大文件 支持超大文件.超大文件在这里指的是几百M,几百GB,甚至几TB大小的文件.一般来说hadoop的文件系统会存储TB级别或者PB级别的数据.所以在企业的应 ...
- 【史上最全】Hadoop 核心 - HDFS 分布式文件系统详解(上万字建议收藏)
1. HDFS概述 Hadoop 分布式系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪 ...
随机推荐
- 人工智能LLM模型:奖励模型的训练、PPO 强化学习的训练、RLHF
人工智能LLM模型:奖励模型的训练.PPO 强化学习的训练.RLHF 1.奖励模型的训练 1.1大语言模型中奖励模型的概念 在大语言模型完成 SFT 监督微调后,下一阶段是构建一个奖励模型来对问答对作 ...
- 【LLM】提示工程技术提炼精华分享
一.提示工程概述 提示工程(Prompt Engineering)是一门较新的学科,关注提示词开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域 ...
- Oracle查询存在外键约束但未创建对应索引的情况
1.Oracle提供的脚本 2.网络搜索到的脚本 3.改为可以指定用户的脚本 4.测试脚本使用 1.Oracle提供的脚本 如果要求管控严格,可以考虑使用Oracle官方提供的脚本. Script t ...
- scrapy框架使用:分布式、增量式
scrapy框架的使用 前记:爬虫框架部分整理完成,后续慢慢完善, 声明: 1)仅作为个人学习,如有冒犯,告知速删! 2)不想误导,如有错误,不吝指教! 创建工程: scrapy startproje ...
- 2023 NOI春季测试游记
前言: 知周所众,在 2023.3.4 ,圈钱因部分地区 NOIP 趋势了而组织举办了春测,这个蒟蒻本来没有 NOIP 的资格,但却去上了春测. 3.2 晚上jijidawang来发表,结果少无数份( ...
- JS leetcode 有序数组的平方 题解分析,灵活运用Math.pow与Math.abs方法
壹 ❀ 引 郁闷的周一,晚上来做一道简单的算法题提提神,题目来自leetcode977. 有序数组的平方,题目描述如下: 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也 ...
- ELK查询和汇总
查询表明细: ELK的KQL样例,显示时间请选择最近15天: 样例1:查询ol_lc 表增删改查,不是jy2_rw的账号明细 KQL:(ol_lc or oc.ol_lc) and (select o ...
- image could not be accessed on a registry to record its digest
问题说明: 在管理节点执行docker stack xxx 方式运行服务,报如题错误. 问题原因: docker swarm运行需要一个镜像仓库才行,所有节点都去这个仓库统一镜像. 来看下官方的解释: ...
- ORA-31655,ORA-39154 Objects from foreign schemas have been removed from import
问题说明 在执行数据泵导入时提示错误: 问题原因 执行导入的用户缺少导入数据库的权限. 解决问题 给用户赋予导入数据库权限: grant imp_full_database to 用户; 然后重新执行 ...
- golang获取windows版本和详细信息
场景: 将木马丢到感染机运行后回连时希望返回感染机的操作系统信息.golang 可以通过runtime.OS获取到操作系统类型,但是无法获取详细的版本信息,如win7 win10等, 解决方案; 下面 ...