hadoop--HDFS概述
目录
- HDFS概述
- 1.HDFS产出背景及定义
- 2.HDFS优缺点
- HDFS优点
- HDFS缺点
- 3. HDFS组成架构
- NameNode (nn)
- DataNode
- Client
- Secondary NameNode
- 4. HDFS文件块大小(面试)
HDFS/Yarn/MapReduce概述==>
HDFS概述
1.HDFS产出背景及定义
1). HDFS产生背景
随着数据量越来越大,在一个操作系统存不下所有数据的情况下,那么就会分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。 HDFS只是分布式文件管理系统中的一种。
2). HDFS定义
HDFS(Hadoop Distributed File System),它是一个文件系统, 用于存储文件,通过目录树来定位文件;其次,它是分布式的, 由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。
HDFS的使用场景:适合一次写入,多次读出的场景。 一个文件经过创建、写入和关闭之后就不需要改变。
2.HDFS优缺点
HDFS优点
1). 高容错性
数据自动保存多个副本。它通过增加副本的形式,提高容错性。
某一个副本丢失以后,它可以自动恢复。
2). 适合处理大数据
数据规模:能够处理数据规模达到GB、TB、PB级别的数据;
文件规模:能够处理百万规模以上的文件数量,数量相当大。
3). 可构建在廉价机器上,通过多副本机制,提高可靠性。
HDFS缺点
1). 不适合低延时数据访问,比如做不到毫秒级的存储数据访问;
2). 无法高效地对大量小文件进行存储;
a. 存储大量小文件,会占用NameNode大量的内存来存储文件目录和块信息;不可取,因为NameNode的内存总是有限的。
b. 小文件存储的寻址时间会超过读取时间,它违反了HDFS的射击目标。
3). 不支持并发写入、文件随机修改;
a. 一个文件只能有一个写入,不允许多个线程同时写;
b. 仅支持数据append(追加),不支持文件的随机修改。
3. HDFS组成架构
NameNode (nn)
: Master,它是管理者。
1). 管理HDFS的名称空间;
2). 配置副本策略;
3). 管理数据块(Block)映射信息;
4). 处理客户端读写请求。
DataNode
: Slave,NameNode下达命令,DataNode执行实际的操作。
1). 存储实际的数据块;
2). 执行数据块的读/写操作。
Client
: 客户端。
1). 文件切分。 文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行上传;
2). 与NameNode交互,获取文件的位置信息;
3). 与DataNode交互,读取/写入数据;
4). Client提供一些命令来管理HDFS,比如NameNode格式化;
5). Client可以通过一些命令来访问HDFS,比如对HDFS增删改查操作;
Secondary NameNode
: 并非NameNode的热备。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务。
1). 辅助NameNode,分担其工作量,比如定期合并Fsimage和Edits,并推送给NameNode;
2). 在紧急情况下,可辅助恢复NameNode。
4. HDFS文件块大小(面试)
HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在Hadoop2.x / Hadoop3.x版本中是128M,1.x版本中是64M。
问题:为什么块的大小不能设置太小,也不能设置太大?
1). HDFS的块设置太小,会增加寻址时间,程序一直在找块的开始位置;
2). 如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢。
总结: HDFS块的大小设置主要取决于磁盘传输速率。
hadoop--HDFS概述相关推荐
- Hadoop HDFS概述
前言 在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储.统一管理分布在集群上的文件系统称为分布式文件系统. HDFS,是Hadoop Distributed File System的简 ...
- Hadoop之HDFS概述
Hadoop之HDFS概述 目录 HDFS产生背景 HDFS概念 HDFS优缺点 HDFS组成架构 1. HDFS产生背景 随着数据量越来越大,在一个操作系统管辖的范围内存不下了,那么就分配到更多的操 ...
- Apache Durid 数据存储(Hadoop概述 安装 HDFS概述 数据存储遇到的问题)
Apache Durid 数据存储 Apache Durid 数据存储 1. 分布式技术 1.1 为什么需要分布式 1.1.1 计算问题 1.1.2 存储问题 1.2 分布式系统概述 1.3 分布式实 ...
- HDFS概述(5)————HDFS HA
HA With QJM 目标 本指南概述了HDFS高可用性(HA)功能以及如何使用Quorum Journal Manager(QJM)功能配置和管理HA HDFS集群. 本文档假设读者对HDFS集群 ...
- HDFS概述(2)————Block块大小设置
参考: HDFS概述(4)----HDFS权限 HDFS概述(3)----HDFS Federation HDFS概述(2)----Block块大小设置 HDFS概述(1)----HDFS架构 问题 ...
- 大数据Hadoop之——Hadoop HDFS多目录磁盘扩展与数据平衡实战操作
文章目录 一.概述 二.Hadoop DataNode多目录磁盘配置 1)配置hdfs-site.xml 2)配置详解 1. dfs.datanode.data.dir 2.dfs.datanode. ...
- 大数据方向学习系列——hadoop——hdfs学习
文章目录 1.HDFS概述 1.1 HDFS产生背景 1.2 HDFS优点 1.3 HDFS缺点 1.4 HDFS组成架构 1.5 HDFS文件块大小(面试重点) 2. HDFS的Shell操作(开发 ...
- Python +大数据-hadoop生态-hadoop(三)--Hadoop HDFS
Python +大数据-hadoop生态-hadoop(三)–Hadoop HDFS 今日课程学习目标 理解分布式文件存储的概念与实现 掌握HDFS分块存储.副本机制等特性 学会shell操作HDFS ...
- 分布式计算框架Hadoop核心组件概述
Hadoop作为成熟的分布式计算框架在大数据生态领域已经使用多年,本文简要介绍Hadoop的核心组件MapReduce.YARN和HDFS,以加深了解. 1.Hadoop基本介绍 Hadoop是分布式 ...
- Hadoop HDFS文件操作的Java代码
1.创建目录 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.ha ...
最新文章
- MySQL导数据工具对比
- 最强去马赛克AI来了,分分钟回到无马世界,连像素风《我的世界》人物都能复原...
- 解读阿里云oss-android/ios-sdk 断点续传(多线程)
- 快速下单!简化EcStore的购物结算流程
- 选择Java密码算法第1部分-散列
- LazyInitializationException的四种解决方案–第2部分
- 下载keep运动软件_Keep运动软件官网下载_Keep运动最新官网下载_18183软件下载
- 企业网络高级技术-VTP中继协议(2)
- 二叉树——新二叉树(洛谷 P1305)
- Android 系统(54)---Android系统开篇
- IEEE754标准:二进位浮点数算术标准
- 图神经网络(一)--综述
- JSON转换和序列化的区别
- mac 安装adb工具
- 视频教程-网站建设-1小时学会建站,采用PHPWAMP搭建网站[全程实战]-PHP
- Python面试常见算法题集锦
- ExtJs6学习(五)【Extjs MVC开发模式详解】
- SEO搜索引擎优化是什么
- ECCV 2022 | 石溪大学联合小鹏汽车提出先验知识指导的无监督领域自适应
- Foxmail的创建
热门文章
- 计算机网络之传输层:2、UDP协议
- (软件工程复习核心重点)第三章需求分析-第三节:状态转换图
- (软件工程复习核心重点)第八章面向对象方法学-第四节:面向对象建模之动态模型和功能模型
- 341. 扁平化嵌套列表迭代器
- Web安全之拖放劫持
- Python print和pprint两者的区别
- Ubuntu设置开机启动
- Java 文件操作一(写文件、按行读文件、删除文件、复制文件、追加数据、创建临时文件、修改最后修改日期、获取文件大小)
- poj 3468 Splay 树
- MySQL使用技巧收集,持续更新中......