HDFS的设计目标和重要特性

HDFS的设计目标和重要特性

  • 设计目标
  • HDFS重要特性
    • 主从架构
    • 分块存储机制
    • 副本机制
    • namespace
    • 元数据管理
    • 数据块存储

设计目标

  • 硬件故障(Hardware Failure)是常态,HDFS可能有成百上千的服务器组成,每一个组件都有可能出现故障。因此古见检测和自动快速恢复的HDFS的核心架构目标。
  • HDFS上的应用主要是流式读取数据(Streaming Data Access).HDFS被设计成用于批处理,而不是用户交互式的。相较于数据分文的反映时间,更注重数据访问的高吞吐量。
  • 典型的HDFS文件大小是GB到TB的级别。所以,HDFS被调整成支持大文件(Large Data Sets)。它应该提供很高的聚合数据带宽,一个集群中支持数百个结点,一个集群中还应该支持千万级别的文件。
  • 大部分HDFS应用对文件要求的是write-one-read-many访问模型。一个文件一旦创建、写入、关闭之后就不需要修改了。这一假设简化了数据一致性问题,是高吞吐量的数据访问称为可能。
  • 移动计算的代价比之移动数据的代价低。一个应用请求的计算,距离它操作的数据越近就越高效。将计算移动到数据附近,比之将数据移动到应用所在显然更好。
  • HDFS被设计为可从一个平台轻松移植到另一个平台。这有助于将GDFS广发用作大量应用程序的首选平台

在这里插入图片描述

HDFS重要特性

主从架构

HDFS 采用master/slave架构。一般一个HDFS集群是有一个namenode和一定数目的DataNode组成。namenode是HDFS主节点,DataNode是HDFS从节点,两种角色各司其职,共同协调完成文件存储服务。
在这里插入图片描述

分块存储机制

HDFS中的文件在物理上是分块存储的(block),块的大小可以通过配置参数来规定,参数位于hdfs-default.xml中:dfs.blocksize。默认大小是128M。

在这里插入图片描述

副本机制

文件所有的block都会有副本。每个文件的block大小(dfs.bloocksize).和副本系数(dfs.replication)都是可配置的。副本系数可以在文件创建的时候胡指定,也可以在之后通过命令改变。

默认dfs.replication的值时3,也就是会额外在复制2份,连通本身总共3份副本

在这里插入图片描述

namespace

HDFS支持传统的文件层次型组织结构。用户可以创建目录,然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现在有的文件系统类似:用户可以创建、删除、移动或重命名文件。

namenode负责维护问价系统的namespace名称空间,任何对文件系统名称空间或属性的修改都将被namenode记录下来

HDFS会给客户端提供一个统一的抽象目录数,客户端通过客户端,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data

元数据管理

在HDFS中,namenode管理的元数据具有两种类型

1.文件自身属性信息:文件管理、权限、修改时间、文件大小、复制因子、数据块大小

2.文件块文职映射信息:记录文件块和DataNode之间的映射信息,即哪个块位于哪个结点上

数据块存储

文件的各个block的具体存储管理由DataNode节点承担。每一个block都可以在多个DataNode上存储

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/47402.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

选择合适的图表,高效展现数据魅力

随着大数据时代的来临,数据的重要性愈发凸显,数据分析和可视化成为了决策和传递信息的重要手段。在数据可视化中,选择合适的图表是至关重要的一环,它能让数据更加生动、直观地呈现,为观众提供更有说服力的信息。本文将…

JavaScript 练手小技巧:音乐播放器的歌词显示

暑假了,还是不能让自己闲着,学点自己感兴趣的知识,写点自己喜欢的代码。 今天写了一个播放器的雏形,带歌词显示。 没去自定义播放器,主要是写歌词显示效果。效果图如下: 首先当然是要准备一个 mp3 文件。 …

RocketMQ基本概念与入门

文章目录 MQ基本结构依赖案例:productConsumer 核心概念1.nameserver2.broker3.主题队列4.queue队列5. 生产者6.消费者分组和生产者分组7.消费点位 MQ基本结构 message: 消息数据对象product: 程序代码,生成消息,发送消息到队列consumer: 程序代码,监听(绑定)队列,获取消息,执行…

分布式锁:Redis、Zookeeper

1.基于Redis实现分布式锁 Redis分布式锁原理如上图所示,当有多个Set命令发送到Redis时,Redis会串行处理,最终只有一个Set命令执行成功,从而只有一个线程加锁成功 2.SetNx命令加锁 利用Redis的setNx命令在Redis数据库…

数据结构【绪论】

数据结构入门级 第一章绪论 什么是数据结构?什么是数据类型? 程序数据结构算法 一、基本概念: 数据:指所有能被计算机处理的,无论图、文字、符号等。数据元素:数据的基本单位,通常作为整体考…

Unity TMP (TextMeshPro) 创建字体材质

1 TMP 简介 完整名称:Text Mesh Pro ,unity新一代主流字体插件 1.1 组件变化 内置的Text组件以及与内置Text组件绑定的Button、DropDown、InputField均被替换为使用TextMeshPro的版本 内置的Text组件以及与内置Text组件绑定的Button、DropDown、Input…

tinymce插件tinymce-powerpaste-plugin——将word中内容(文字图片等)直接粘贴至tinymce编辑器中

TinyMCE是一款易用、且功能强大的所见即所得的富文本编辑器。同类程序有:UEditor、Kindeditor、Simditor、CKEditor、wangEditor、Suneditor、froala等等。 TinyMCE的优势: 开源可商用,基于LGPL2.1 插件丰富,自带插件基本涵盖日常…

【项目设计】基于负载均衡的在线oj平台

目录 一、项目介绍 二、开发环境以及技术 三、概要设计 四、关键算法 五、项目演示 六、代码实现 一、项目介绍 该项目是基于负载均衡的在线oj,模拟平时刷题网站(leetcode和牛客)写的一个在线判题系统 项目主要分为五个模块&#xff…

OpenAI重磅官宣ChatGPT安卓版本周发布,现已开启下载预约,附详细预约教程

7月22号,OpenAI 突然宣布,安卓版 ChatGPT 将在下周发布!换句话说,本周安卓版 ChatGPT正式上线! 最早,ChatGPT仅有网页版。 今年5月,iOS版ChatGPT正式发布,当时OpenAI表示Android版将…

Docker—— consul的容器服务更新与发现

Docker—— consul的容器服务更新与发现 一、Consul概述1.什么是服务注册与发现2.什么是consul 二、consul 部署1.consul服务器①. 建立 Consul 服务②. 查看集群信息③. 通过 http api 获取集群信息 2.registrator服务器①. 安装 Gliderlabs/Registrator②. 测试服务发现功能是…

智能小说文本字幕生成器

分享一个免费的,智能小说文本字幕生成器 智能分句。短词。 链接:https://pan.baidu.com/s/15xGlQg01LmbHHuGFZbgaiw?pwd0gjv 提取码:0gjv

分类评估指标

文章目录 1. 混淆矩阵2. Precision(精准率)3. Recall(召回率)4. F1-score5. ROC曲线和AUC指标5.1 ROC 曲线5.2 绘制 ROC 曲线5.3 AUC 值6. API介绍6.1 **分类评估报告api**6.2 **AUC计算API**练习-电信客户流失预测1. 数据集介绍2. 处理流程3. 案例实现4. 小结1. 混淆矩阵 …

Windows上安装Docker Desktop

运行环境 Windows 10Docker Desktop 4.21.1 安装步骤 步骤1: 勾掉"Use WSL 2 instead of Hyper-V(recommended)"(原因见小插曲2章节) 步骤2: 安装完成 步骤3: 运行Docker Desktop 步骤4: …

【MATLAB】ILOSpsi制导率的代码解析

ILOSpsi制导率的代码解析 这里记录一下关于fossen的MMS工具箱中,关于ILOSpsi制导率的代码解析内容,结合fossen的marine carft hydrodynamics and motion control这本书来参考看 文章目录 ILOSpsi制导率的代码解析前言一、代码全文二、内容解析1.persist…

opencv-27 阈值处理 cv2.threshold()

怎么理解阈值处理? 阈值处理(Thresholding)是一种常用的图像处理技术,在机器学习和计算机视觉中经常被用于二值化图像或二分类任务。它基于设定一个阈值来将像素值进行分类,将像素值大于或小于阈值的部分分为两个不同的类别&…

Redis持久化机制 RDB、AOF、混合持久化详解!如何选择?| JavaGuide

本文已经收录进 JavaGuide(「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。) Redis 持久化机制属于后端面试超高频的面试知识点,老生常谈了,需要重点花时间掌握。即使不是准备面试,日常开发也是需要经常用到的。 最近抽空对之前写的 Redis 持久化…

【ES】---ES的聚合(aggregations)

目录 一、前言1、聚合分类2、聚合的实现方式二、RestAPI--bucket聚合案例11、按照类型分bucket2、按照(String)时间分bucket三、RestAPI-- metric聚合案例11、metric指标统计四、RestAPI-- pipeline聚合案例1一、前言 聚合是对文档数据的统计、分析、计算。 注意:参与聚合的字…

Java中I/O流是什么?输入/输出流又是什么?

在 Java中所有数据都是使用流读写的。流是一组有序的数据序列,将数据从一个地方带到另一个地方。根据数据流向的不同,可以分为输入(Input)流和输出(Output)流两种。 在学习输入和输出流之前,我们…

PDF怎么转成Excel?4个方法非常实用!

如何使用记灵在线工具将PDF转成Excel?在日常工作中,我们经常需要转换PDF文件为Excel文件以方便我们处理数据。虽然PDF格式对于文本和图片的可视化效果效果不错,但是在处理数据时,Excel表格更加便捷。当我们将PDF文件转换成Excel文…

JDBC的的使用

首先导入jar包。 https://downloads.mysql.com/archives/c-j/ package com.test.sql;import java.sql.*;public class StudySql {public static void init() throws SQLException {Statement stmt null;Connection conn null;ResultSet res null;PreparedStatement pstm…
最新文章