
(四)HDFS 的认识和 shell 操作
发布日期:2021-05-16 12:59:40
浏览次数:19
分类:精选文章
本文共 1383 字,大约阅读时间需要 4 分钟。
NullPointerException
最近,我在学习Hadoop文件卷存储(HDFS)技术,逐渐摸索出了一些技术要点,这些经验也让我对分布式存储系统有了更深刻的理解。以下是我对这些知识点的整理和梳理。
一、HDFS的设计思想和应用场景
HDFS的核心理念是分而治之。面对海量数据大规模存储和处理,传统的文件系统难以胜任。HDFS通过将文件分块,分布式存储到多个服务器上,允许采用分而治之的方式进行数据分析。这在大数据处理中一直是成绩显著的方案。
在现有的大数据处理框架(如MapReduce、Spark、Tez等)中,HDFS作为基础存储层,提供数据支持和管理服务。它的独特性在于能够高效处理大规模数据的集中存储和管理需求。HDFS的副本机制和块切割特性,使其非常适合需要多次读取和长期保留数据的应用,但对于需要在线响应和高频修改的场景则不合适。
二、HDFS的核心特征
分布式存储模型
HDFS整合多台服务器(DataNode)共同承担数据存储责任,集群中每台服务器都有特定的角色:- NameNode:负责维护目录树和文件块的映射关系。
- DataNode:专注于存储用户文件的块(Block)。 HDFS的文件存储是分块进行的,块的大小可以通过
dfs.blocksize
配置参数调整,默认为128MB。
高效的元数据管理
文件路径和各个路径所对应的块信息(包括块ID和存放服务器信息)由NameNode统一管理。文件的实际存储块信息则由DataNode完成,并定期向NameNode汇报。支持多副本机制
HDFS支持设置文件块的副本数量(默认为3),通过分布式存储确保数据的冗余性和可用性。不支持在线文件修改
HDFS采用“一次性写入,多次读取”的设计理念,支持文件创建和删除,usalem但不支持对已存在文件的实时修改,这使得其更适合数据分析和批量处理场景。三、HDFS的运行机制详解
文件存储过程
- 文件在写入时,被切分成固定大小的块。
- 每个块由不同的DataNode存放,并维护一定的副本。
- NameNode会记录每个文件块的位置信息。
元数据管理机制
NameNode不仅管理文件目录树结构,还记录每个文件块的存储位置信息。数据存储和块定位的工作通过分布式协议完成,确保系统可靠性。集群运行机制
- DataNode定期向NameNode汇报文件块信息,确保 NameNode能及时获取最新的存储状态。
- NameNode根据文件块信息和副本状态,动态调整数据分布策略。
客户端访问机制
- 客户端通过与NameNode建立连接,逐步定位到需要的文件块位置并访问。
- 文件访问过程对用户透明,HDFS自我管理分块存储和副本复制。
四、HDFS的常用shell命令操作
在HDFS操作中,hadoop fs
是一个强大的工具,提供了多种操作指令。以下是常用命令案例:
1、查看帮助信息
hadoop fs -help
2、上传文件
hadoop fs -put <本地文件> <HDFS路径>
3、查看文件内容
hadoop fs -cat <HDFS路径>
4、查看文件目录
hadoop fs -ls <目录路径>
5、下载文件
hadoop fs -get <HDFS路径> <本地文件>
对于需要更深入操作的内容,可以参考HDFS官方文档或相关技术博客。
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年05月05日 02时05分56秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
EF 资料
2023-01-24
EF6与MVC5系列(4):在MVC应用程序中使用弹性连接和命令拦截
2023-01-24
Effective C# 学习笔记(四十五)减少装箱拆箱行为
2023-01-24
Effective Modern C++:02auto
2023-01-24
efficientnet最合适的尺寸和最后一层的层数
2023-01-24
EF三种编程方式详细图文教程(C#+EF)之Database First
2023-01-24
Ehcache Java开源缓存框架
2023-01-24
EhCache 分布式缓存/缓存集群
2023-01-24
EHR:对人力资源信息系统的认识
2023-01-24
EJB学习笔记六(EJB中的拦截器)
2023-01-24
el-form表单重置后输入失效
2023-01-24
el-select下拉框修改背景色
2023-01-24
el-table select事件判断当前项是否勾选
2023-01-24
Elasticsearch & Kibana & Filebeat开启SSL通信
2023-01-24
ElasticSearch - DSL查询文档语法,以及深度分页问题、解决方案
2023-01-24
ElasticSearch - 分布式搜索引擎底层实现——倒排索引
2023-01-24