大数据——HDFS(分布式文件系统)

news/2024/5/20 2:31:43 标签: 大数据, hdfs, hadoop

 一,分布式系统概述

Hadoop的两大核心组件

HDFSHadoop Distributed Filesystem):是一个易于扩展的分布式文件系统,运行在成百上千低成本机器上。HDFS具有高度容错能力,旨在部署在低成本机器上。HDFS主要用于对海量文件信息进行存储管理,也就是解决大数据文件(如TB乃至PB级)的存储问题,是目前应用最广泛的分布式文件系统

分布式系统的演变:

传统文件系统遇到的问题 :

传统文件系统的问题:

当数据量越来越大时,会遇到存储瓶颈,需要扩容;

由于文件过大,上传下载都非常耗时

分布式文件系统的雏形

横向扩容,即增加服务器数量,构成计算机集群

大文件切割成多个数据块将数据块以并行的方式,分布地在多个计算机节点上进行存储、读取

DHFS集群架构:

  • 普通Hadoop集群结构由一个两阶网络构成。
  • 机架内的节点之间、机架之间,通过光纤高速交换机完成彼此的连接与交互。
  • 每个机架(Rack)有30-40个服务器,配置一个1GB的交换机,并向上连接到一个核心交换机或者路由器(1GB或以上)。

 HDFS的集群中的节点分为两类

名称结点(NameNode :又称为 主节点 (Master Node) ,存储元数据,元数据可看作是数据目录,存放一些其他服务器的信息(相当于一个代理服务器);
数据节点DataNode:又称为 从节点( Slave Node )存储数据块,即实际数据。

DHFS的优点:
支持超大文件流式数据读写高数据吞吐量硬件设备要求低高容错性……

  一次写入、多次读取的流式数据访问模式:

一次写入从数据源收集或生成的数据集,向HDFS中的文件一次性写入,关闭之后不可修改,只能在文件末尾追加。
多次读取在该数据集上进行各种分析,每次分析都需要读取该数据集的大部分甚至全部数据
流式数据访问:读取数据文件就像流水一样,不是一次性过来而是 “流”过来,来一部分、处理一部分。例如,下载电影,用迅雷边下边播。
综上 :即批量数据处理,不能随机读写、不能交互式处理

 DHFS的缺点

不适合低延迟数据访问无法高效存储大量小文件不支持多用户写入和修改……

无法高效存储大量小文件:

由于名称节点HDFS文件系统的元数据存储在内存中,因此该文件系统所能存储的文件总数受限于名称节点的内存容量。一般每个文件、目录和数据块的元数据存储信息大约占150字节(B)。因此,如果有一百万个文件,且每个文件占一个数据块,那至少需要300MB的内存。尽管存储上百万个文件是可行的,但是存储数十亿个文件就超出了当前硬件的能力。

二,相关的概念

1,(block)数据块的概念:

HDFS 中,文件被拆分成多个 数据块 Hadoop2.x 版本下, 默认是 128MB ,每个块作为 独立单元 进行存储。
所有的块( block )同样大小,除了最后一个块
每个块 备份3 ,存储于 不同 的数据节点 DataNode 中。
如果一个文件有1000MB则在hadoop2.x版本下,将会被分成7份128MB的数据块和一个0.812MB的数据块。

2,元数据

HDFS中文件和目录的信息 :文件名 (/user/data/File.txt )、 目录名、父目录信息、文件大小、文件的创建 修改 时间等;
文件数据块及其存储信息 :文件分块情况(块数、块的编号)、副本个数、每个副本所在的DataNode信息等;
HDFS中所有DataNode的信息 :用于DataNode管理。
/user/data/File.txt是文件所在的路径,有三个备份,2号,8号,9号,然后每个里面备份三个不同服务器的数据。

3,(NameNode)名称结点(我的理解是代理服务器)

NameNode HDFS 集群 主服务器 ,通常称为 名称节点 或者 主节点 一旦 NameNode 关闭,       就无法访问 Hadoop 集群。

     主要作用:

存储、 管理、更新 元数据
管理 客户端 对文件的访问, 记录 对文件系统的更改操作

4,(DtaNode)数据节点

    数据节点HDFS集群中的从服务器,称为数据节点它与NameNode保持不断的通信,其主要作用:

负责 数据块 的存储和读取
根据客户端或名称节点的调度,存储并检索数据块,对数据块进行创建、删除等操作
向名称节点定期发送自己存储的数据块的列表信息(心跳信息)
每个数据节点存储的实际数据,保存在该节点本地的Linux文件系统中
总结图:
我的理解就是 ,你上传到服务器的数据,为了保证数据的安全性,如果一个服务器出现了问题 ,那么必须保证你的数据不能丢失,那么在其他服务器上也会备份一份出问题服务器的数据,以保证数据不丢失,就是一个存有你数据的服务器坏掉了,也不会影响你的数据。

      以上仅仅是我的理解,仅供参考。


http://www.niftyadmin.cn/n/231357.html

相关文章

docker镜像制作: 构建UI镜像

前端构建docker镜像 事前准备 安装nodejscd/usr/local/ wgethttps://npm.taobao.org/mirrors/node/v12.16.2/node-v12.16.2-linux-x64.tar.gz tar-zxvfnode-v12.16.2-linux-x64.tar.gz rm-rfnode-v12.16.2-linux-x64.tar.gz mvnode-v12.16.2-linux-x64node echoexportNODE_HOM…

kubernetes之Ingress介绍

Ingress 组成 ingress controller将新加入的Ingress转化成Nginx的配置文件并使之生效 ingress服务将Nginx的配置抽象成一个Ingress对象,每添加一个新的服务只需写一个新的Ingress的yaml文件即可工作原理 1.ingress controller通过和kubernetes api交互&#xff0…

AppArmor零知识学习三、源码介绍与下载

本文内容参考: AppArmor配置(二)_domybest_nsg的博客-CSDN博客, Apparmor简单学习_trap0D的博客-CSDN博客, 学习LSM(Linux security module)之三:Apparmor的前世今生和基本使用_wx5b7658e51ef04的技术博客_51CTO博客…

OpenAI-ChatGPT最新官方接口《微调ChatGPT模型》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(四)(附源码)

微调ChatGPT模型前言Introduction 导言What models can be fine-tuned? 哪些模型可以微调?Installation 安装Prepare training data 准备训练数据CLI data preparation tool CLI数据准备工具Create a fine-tuned model 创建微调模型Use a fine-tuned model 使用微调…

创造歌词一首,关于毕业论文难写,暗讽导师不负责,不直言导师不负责

Verse1: 心中有话,不知如何启齿 毕业论文,导师不为所知 闲言碎语,挥之不去 内心深处的烦恼,不堪承受 Chorus: 毕业论文难写,压力随时随地 像炽热夏日的彩虹,看似光彩迷人 但原本的照耀却消失在过程中 如乌云…

【C语言存储类别、链接和内存管理】

本文内容主要包括: 关键字:auto、extern、static、register、const、volatile、restricted、_Thread_local、_Atomic函数:rand()、srand()、time()、malloc()、calloc()、free()如何确定变量的作用域(可见的范围)和生命…

2023年泰迪杯数据挖掘挑战赛B题完整数据分析与预测(5.针对完整数据的组合预测-机器学习+深度学习)

背景 2023年泰迪杯完整数据最新出炉,博主根据最新完整数据对原来的预测方案进行了调整,采用机器学习深度学习的组合预测来实现最终预测 全部数据已经出炉,可以看出训练样本和预测样本都增加了十倍,这对于数据的处理复杂程度也有…

2023年究极Java面试题,看完你就超过别人一遍了

以一个开发人员来说,不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个“有章可循”说的意思只是说应对技术面试是可以提前准备。 我其实特别不喜欢那种临近考试就提前…