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.mzph.cn/news/8422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

梯度提升树的基本思想

目录 1. 梯度提升树 VS AdaBoost 2. GradientBoosting回归与分类的实现 2.1 GradientBoosting回归 2.2 GradientBoosting分类 1. 梯度提升树 VS AdaBoost 梯度提升树(Gradient Boosting Decision Tree,GBDT)是提升法中的代表性算法&#…

赛码-0726

01串的魔法 思路:虽然标着dp,其实是滑动窗口问题,dp 会超时 import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int k scanner.nextInt…

帆软报表设计器设置步骤

1、连接工作目录(可以是远程服务器) 在打开的界面中设置具体的远程地址 一个报表文件可以有多个数据集、但是数据集依附于报表文件的存在,不能跨报表共享。 先补充这么多,有遇到问题再写一点。 (完)

指针易混淆概念:*p++,*(p++),++(*p)

(1)a[1]和&a[1] a[1]:二维数组的第二行元素,即a[1]是以a[1][0]开头的一维数组,类型是一级指针 &a[1]:二维数组的第二行元素的地址,类型是二级指针 (2)a1与*(a1&#xff09…

我的创作纪念日——暨成为创作者满1024日的总结

我的创作纪念日 机缘收获日常成就憧憬 机缘 最初写博客,是因为身边一个同事,写了几篇博客,然后给我臭摆,于是,不服输的自己也动手开始写了。之后,就逐渐写出惯性来了,现在每月4篇,基…

Cpp 01 — namespace命名空间、C++的输入与输出、缺省参数、函数重载、引用、隐式类型转换

前言:本文章主要用于个人复习,追求简洁,感谢大家的参考、交流和搬运,后续可能会继续修改和完善。 因为是个人复习,会有部分压缩和省略。 一、namespace命名空间 C使用命名空间(namespace)来避免命名冲突。 在定义一个…

最小生成树

最小生成树 1.朴素Primm~n^2稠密图 Part1:例题 给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出 impossible。 数据范围: 1≤n≤5001≤n≤…

STM32CUBUMX配置RS485(中断接收)--保姆级教程

———————————————————————————————————— ⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大三学生。 ⏩最近在开发一个STM32H723ZGT6的板子,使用STM32CUBEMX做了很多驱动&#x…

Vue mixin 混入

可以复用的组件,我们一般会抽离,写成公共的模块。 可以复用的方法,我们一般会抽离,写成公共的函数。 那么 在 Vue 中,如果 某几个组件实例 VueComponent 中、或者 整个 Vue 项目中 都存在相同的配置,那就…

格雷码(Gray Code)的构造

说明 Gray Code是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数好了,任两个数之间只有一个位元值不同,例如以下为3位元的Gray Code: 000 001 011 010 110 111 101 100 由定义可以知道,G…

firefox笔记-Centos7离线安装firefox

目前(2023-03-22 16:41:35)Centos7自带的firefox已经很新了是2020年的。主要原因是有个web项目,用2020年的firefox打不开。 发到互联网上是2023-07-24。 报错是js有问题,估计是搞前端的只做了chrome适应,没做firefox…

Spring使用注解进行对象装配(DI)

文章目录 一. 什么是对象装配二. 三种注入方式1. 属性注入2. 构造方法注入3. Setter注入 三. 三种注入方式的优缺点四. 综合练习 通过五大类注解可以更便捷的将对象存储到 Spring 中,同样也可以使用注解将已经储存的对象取出来,直接赋值到注解所在类的一…

软件应用开发的常见环境

一般来说,在小型项目中可能只有开发环境和生产环境;在中型项目中会有开发环境、staging environment、生产环境;在大型项目中会有开发环境、测试环境、staging environment、生产环境。 一、Dev Env / Development Environment 开发环境 开…

ATTO488 NHS ester ,新型亲水性荧光标记物,具有良好的水溶性

陕西新研博美生物科技有限公司MISS.wu小编(2023.7月26日)为大家整理以下的内容: Atto488-NHS是一种新型亲水性荧光标记物,具有良好的水溶性。这种染料表现得很浓吸收、高荧光量子产率以及优异的热稳定性和光稳定性。因此&#xff…

企业微信,阿里钉钉告警群机器人

链接:如何通过企业微信群接收报警通知_云监控-阿里云帮助中心

亚马逊、速卖通,阿里国际等平台测评如何用自养号测评补单

在电商领域,补单是一种常见的推广方式。它能够优化商品销售、留下优质评论、打压竞品和赶走跟卖等,具有很多好处。然而,补单也存在安全性问题,有些卖家找人补单后店铺反而出了问题。因此,了解测评系统是非常重要的的。…

Linux Shell 学习笔记二

#!/bin/bash# 当你遇到shell脚本异常时,加上此行set -euxo pipefail,会打印出执行过程并阻止脚本继续执行。 set -euo pipefail# 使用说明: # BACKUP<backup> NS<ns1,ns2,...> ./migrate-ack.sh # 其中BACKUP为velero backup的名称,可以通过 velero --kubecontextj…

ChatGPT | 使用自己Prompt替换LangChain默认Prompt

某些场景会要求ChatGPT重复处理同一个操作&#xff0c;要么在问题里面加入Prompt&#xff0c;要么用自己Prompt替换LangChain默认Prompt。 直接看看前后对比结果 LangChain默认的Prompt template"Use the following pieces of context to answer the users question. \n…

android9-android13 AMS演进初窥

目录 一&#xff1a;概览 WindowManagerService 基本介绍 ActivityManagerService 基本介绍 二&#xff1a;AMS及其关联的WMS中主要组件的类图和对像图 一&#xff1a;android 9中AMS/WMS的类图和对像图 二&#xff1a;android 10中AMS/WMS的类图和对像图 三&#xff1a…

关于应用在Google Play的元数据优化

应用标题中的关键词权重最大&#xff0c;其次是简短描述中的关键词&#xff0c;最后是长描述关键词&#xff0c;了解这些就能够很好的提高应用的可见度&#xff0c;下载量和整体成功率。 1&#xff0c;标题。 Google Play最多允许标题容纳30个字符&#xff0c;关键词的频率和密…