大数据hadoop_HDFS概述(1)
创始人
2024-03-17 06:08:14
0

文章目录

  • 1. HDFS概述
    • 1.1 HDFS背景
    • 1.2 定义
  • 2. HDFS优缺点
    • 2.1 优点
    • 2.2 缺点
  • 3. HDFS架构
  • 4. HDFS文件块大小

1. HDFS概述

1.1 HDFS背景

面对今天的互联网公司,每天都会有上亿次的用户访问量,用户每进行一次操作,都会产生数据,面对传统的存储系统不能满足存储要求,迫切需要一种系统来管理多台机器上的文件,这种系统就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。

1.2 定义

HDFS(hadoop Distributed File System),它是一个分布式系统,用于存储文件,通过目录数来定位;其次,它是分布式的,由许多服务器联合起来实现的功能,集群中的服务器有各自的角色。

2. HDFS优缺点

2.1 优点

①.高容错性

image-20221204181533564

②.适合处理大数据

image-20221204181550825

③.可构建在廉价的机器上,通过多副本机制,提高可靠性

2.2 缺点

①不适合低延时数据访问,比如毫秒级的查询,是做不到的

②无法高效的对大量小文件进行存储

image-20221204181903069

③不支持并发写入,文件随机修改

image-20221204181926059

3. HDFS架构

image-20221204182824302

1.namenode(nn):就是master,它是一个管理者

①管理HDFS的名称空间

②配置副本策略

③管理数据块(Block)映射信息

④处理客户端读写请求

2.datanode:就是slave。namenode下达命令,datanode执行实际的操作

①存储实际的数据块

②执行数据块的读/写操作

3.Clint:就是客户端

①文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行上传

②与NameNode交互,获取文件的位置信息;

③与Datanode交互,读取或者写入数据

④Client提供一些命令来管理HDFS,比如NameNode格式化

⑤Client可以通过一些命令来访问HDFS,比如HDFS的增删改查操作

4.Secondary NameNode

并非NameNode的热备。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务

①辅助NameNode,分担其工作量,比如定期合并Fsimage和Edits,并推送给NameNode

②在紧急情况下,可辅助恢复NameNode

4. HDFS文件块大小

HDFS中的文件在物理上是分开存储(Block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小 在Hadoop2.x/3.x版本中是128M,1.x版本是64M

image-20221204184119559

思考?为什么块的大小不能设置太小,也不能设置太大

1.HDFS的块设置太小,会增加寻址时间,程序一直在找块的开始

2.如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需要的时间。导致程序在处理这块数据时,会非常慢。

总结:HDFS块的大小主要取决与磁盘传输速率

相关内容

热门资讯

不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
报告实验.pdfbase.tt... 这个错误通常是由于找不到字体文件或者文件路径不正确导致的。以下是一些解决方法:确认字体文件是否存在:...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...