HDFS 基础入门

本文介绍了HDFS的基础知识,包括其设计思想、在大数据系统中的应用、关键概念和架构。详细讲述了Namenode和Datanode的角色,强调了HDFS的一次写入多次读取特性,以及其在处理大规模数据时的优势。此外,还涵盖了HDFS的shell命令行和Java API操作,以及如何在Eclipse中配置和访问HDFS。
摘要由CSDN通过智能技术生成

HDFS前言

HDFS:Hadoop Distributed File System Hadoop 分布式文件系统,主要用来解决海量数据的存储问题。

设计思想 分而治之:将大文件,大批量文件,分布式的存放于大量服务器上。以便于采取分而治 之的方式对海量数据进行运算分析。

在大数据系统架构中的应用 为各类分布式运算框架(MapReduce,Spark,Tez,Flink,…)提供数据存储服务。

重点概念:数据块/副本,负载均衡,心跳机制,副本存放策略,元数据/元数据管理,安全模式,机架感知…。

HDFS 设计思路

HDFS 被设计成用来使用低廉的服务器来进行海量数据的存储,那是怎么做到的呢?
1、大文件被切割成小文件,使用分而治之的思想让很多服务器对同一个文件进行联合管理。
2、每个小文件做冗余备份,并且分散存到不同的服务器,做到高可靠不丢失。
在这里插入图片描述

HDFS 架构

主节点 Namenode:集群老大,掌管文件系统目录树,处理客户端读且请求。 SecondaryNamenode:严格说并不是 namenode 备份节点,主要给 namenode 分担压力之用。 从节点 Datanode:存储整个集群所有数据块,处理真正数据读写。
在这里插入图片描述

HDFS概念和特性

概念

首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件
其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器都有各自清晰的角色定位。

重要特性

1、HDFS 中的文件在物理上是分块存储(block),块的大小可以通过配置参数(dfs.blocksize) 来规定,默认大小在 hadoop2.x 版本中是 128M,老版本中是 64M 。
2、HDFS文件系统会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形 如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data
hdfs://hadoop111:9000/soft/hadoop-2.6.7.tar.gz
3、目录结构及文件分块位置信息(元数据)的管理由 namenode 节点承担 namenode 是 HDFS 集群主节点,负责维护整个 hdfs 文件系统的目录树,以及每一个路径(文 件)所对应的 block 块信息(block 的 id,及所在的 datanode 服务器)。
4、文件的各个 block 的存储管理由 datanode 节点承担 datanode 是 HDFS 集群从节点,每一个 block都可以在多个 datanode 上存储多个副本(副本 数量也可以通过参数设置 dfs.replication,默认是 3)。
5、HDFS是设计成适应一次写入,多次读出的场景,且不支持文件的修改 (PS:适合用来做数据分析,并不适合用来做网盘应用,因为, 不便修改,延迟大,网络开销大,成本太高)。

HDFS 优缺点
HDFS 优点

可构建在廉价机器上 通过多副本提高可靠性,提供了容错和恢复机制 。
高容错性 数据自动保存多个副本,副本丢失后,自动恢复 。
适合批处理 移动计算而非数据,数据位置暴露给计算框架 。
适合大数据处理 GB、TB、甚至 PB 级数据,百万规模以上的文件数量,10K+节点规模。
流式文件访问 一次性写入,多次读取,保证数据一致性。

HDFS 缺点
不适于以下操作:

低延迟数据访问,比如毫秒级,延迟与高吞吐率。
小文件存取占用 NameNode 大量内存 150b* 1000W = 15E,1.5G,寻道时间超过读取时间。
并发写入、文件随机修

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值