HDFS Federation设计动机与基本原理

HDFS 3.3新特性:RBF(Router-Based Federation)使用教程 RBF作为HDFS Federation的下一代解决方案,彻底解决了ViewFs的核心痛点,是大规模HDFS集群的必备工具。RBF的核心原理与架构;RBF环境的搭建与配置;RBF客户端的开发与使用;RBF的实际应用场景与最佳实践。随着Hadoop生态的演进,RBF将成为HDFS集群的标准配置。赶快动手尝试,体验“统一入口、无感知扩展”的便利吧! 阅读详情

博文转自:http://www.verydemo.com/demo_c167_i6246.html

HDFS Federation是Hadoop-0.23.0中为解决HDFS单点故障而提出的namenode水平扩展方案。该方案允许HDFS创建多个namespace以提高集群的扩展性和隔离性。本篇文章主要介绍了HDFS Federation的设计动机和基本原理。

1. 当前HDFS概况

1.1 当前HDFS架构

  当前HDFS包含两层结构:

  (1) Namespace 管理目录,文件和数据块。它支持常见的文件系统操作,如创建文件,修改文件,删除文件等。

  (2)Block Storage有两部分组成:

  Block Management维护集群中datanode的基本关系,它支持数据块相关的操作,如:创建数据块,删除数据块等,同时,它也会管理副本的复制和存放。

  Physical Storage存储实际的数据块并提供针对数据块的读写服务。

  【Block Storage的这两部分分别在namenode和datanode上实现,所以该模块由namenode和datanode分工完成】

  当前HDFS架构只允许整个集群中存在一个namespace,而该namespace被仅有的一个namenode管理。这个架构使得HDFS非常容易实现,但是,它(见上图)在具体实现过程中会出现一些模糊点,进而导致了很多局限性(下面将要详细说明),当然这些局限性只有在拥有大集群的公司,像baidu,腾讯等出现。

1.2 当前HDFS局限性
  【Block Storage和namespace高耦合】

  当前namenode中的namespace和block management的结合使得这两层架构耦合在一起,难以让其他可能namenode实现方案直接使用block storage。

  【namenode扩展性】

  HDFS的底层存储是可以水平扩展的(解释:底层存储指的是datanode,当集群存储空间不够时,可简单的添加机器已进行水平扩展),但namespace不可以。当前的namespace只能存放在单个namenode上,而namenode在内存中存储了整个分布式文件系统中的元数据信息,这限制了集群中数据块,文件和目录的数目。

  【性能】

  文件操作的性能制约于单个namenode的吞吐量,单个namenode当前仅支持约60K的task,而下一代Apache MapReduce将支持多于100K的并发任务,这隐含着要支持多个namenode。

  【隔离性】

  现在大部分公司的集群都是共享的,每天有来自不同group的不同用户提交作业。单个namenode难以提供隔离性,即:某个用户提交的负载很大的job会减慢其他用户的job,单一的namenode难以像HBase按照应用类别将不同作业分派到不同namenode上。

2. HDFS Federation

2.1  为什么采用Federation

  采用Federation的最主要原因是简单,Federation能够快速的解决了大部分单Namenode的问题。

  Federation 整个核心设计实现大概用了4个月。大部分改变是在Datanode、Config和Tools,而Namenode本身的改动非常少,这样 Namenode原先的鲁棒性不会受到影响。这使得该方案与之前的HDFS版本兼容。

2.2  Federation架构

  为了水平扩展namenode,federation使用了多个独立的namenode/namespace。这些namenode之间是联合的,也就是说,他们之间相互独立且不需要互相协调,各自分工,管理自己的区域。分布式的datanode被用作通用的数据块存储设备。每个datanode要向集群中所有的namenode注册,且周期性地向所有namenode发送心跳和块报告,并执行来自所有namenode的命令。

  一个block pool由属于同一个namespace的数据块组成,每个datanode可能会存储集群中所有block pool的数据块。

  每个block pool内部自治,也就是说各自管理各自的block,不会与其他block pool交流。一个namenode挂掉了,不会影响其他namenode。

  某个namenode上的namespace和它对应的block pool一起被称为namespace volume。它是管理的基本单位。当一个namenode/nodespace被删除后,其所有datanode上对应的block pool也会被删除。当集群升级时,每个namespace volume作为一个基本单元进行升级。

2.3  Federation关键技术点
【命名空间管理】

Federation中存在多个命名空间,如何划分和管理这些命名空间非常关键。在Federation中并采用“文件名hash”的方法,因为该方法的locality非常差,比如:查看某个目录下面的文件,如果采用文件名hash的方法存放文件,则这些文件可能被放到不同namespace中,HDFS需要访问所有namespace,代价过大。为了方便管理多个命名空间,HDFS Federation采用了经典的Client Side Mount Table。

  如上图所示,每个深色三角形代表一个独立的命名空间,上方浅色的三角形代表从客户角度去访问下方的子命名空间。各个深色的命名空间Mount到浅色的表中,客户可以访问不同的挂载点来访问不同的命名空间,这就如同在Linux系统中访问不同挂载点一样。这就是HDFS Federation中命名空间管理的基本原理:将各个命名空间挂载到全局mount-table中,就可以做将数据到全局共享;同样的命名空间挂载到个人的mount-table中,这就成为应用程序可见的命名空间视图。

2.4  主要优点
【扩展性和隔离性】

  支持多个namenode水平扩展整个文件系统的namespace。可按照应用程序的用户和种类分离namespace volume,进而增强了隔离性。

【通用存储服务】

  Block Pool抽象层为HDFS的架构开启了创新之门。分离block storage layer使得:

  <1> 新的文件系统(non-HDFS)可以在block storage上构建

  <2> 新的应用程序(如HBase)可以直接使用block storage层

  <3> 分离的block storage层为将来完全分布式namespace打下基础

【设计简单】

  Federation 整个核心设计实现大概用了4个月。大部分改变是在Datanode、Config和Tools中,而Namenode本身的改动非常少,这样 Namenode原先的鲁棒性不会受到影响。虽然这种实现的扩展性比起真正的分布式的Namenode要小些,但是可以迅速满足需求,另外Federation具有良好的向后兼容性,已有的单Namenode的部署配置不需要任何改变就可以继续工作

3. HDFS Federation不足

【单点故障问题】

  HDFS Federation并没有完全解决单点故障问题。虽然namenode/namespace存在多个,但是从单个namenode/namespace看,仍然存在单点故障:如果某个namenode挂掉了,其管理的相应的文件便不可以访问。Federation中每个namenode仍然像之前HDFS上实现一样,配有一个secondary namenode,以便主namenode挂掉一下,用于还原元数据信息。

【负载均衡问题】

  HDFS Federation采用了Client Side Mount Table分摊文件和负载,该方法更多的需要人工介入已达到理想的负载均衡。

施耐德 Modicon M580 ePAC 项目实战:从硬件选型到 Control Expert V15 组态 本文详细解析了施耐德 Modicon M580 ePAC 在工业自动化项目中的实战应用,从硬件选型到 Control Expert V15 组态的全流程。重点介绍了水处理站控制系统的硬件配置、网络架构设计、软件安装授权及程序框架开发,帮助工程师高效实施中大型控制系统项目。 阅读详情

相关推荐

点餐系统数据库设计--SQL Server

友情链接 1、学生成绩管理系统数据库设计–MySQL 学生成绩管理系统数据库设计–MySQL 2、医疗信息管理系统数据库–MySQL 医疗信息管理系统数据库–MySQL 3、邮件管理数据库设计–MySQL 邮件管理数据库设计–MySQL 4、SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database) SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Management System Database) 5

若如初见 8万+

HDFS Federation(联邦)简介

HDFS Federation(联邦)简介

fighting_DW 2635

自动化革命:AI在需求分析、代码生成与测试中的深度应用

在2025年的科技浪潮中,人工智能(AI)已不再是实验室中的概念,而是深度渗透至软件开发的全生命周期。从需求分析的精准捕捉,到代码生成的自动化创作,再到测试环节的智能覆盖,AI正以革命性姿态重塑软件工程的核心环节。本文将结合2025年最新数据与行业实践,解析AI如何在这三大领域实现深度应用。

1507

深入HDFS——联邦(Federation)

梳理了HDFS如何通过Federation提升NameNode横向拓展能力的。

从知识输入到知识输出 1362

全局特征描述子 CVFH (Clustered Viewpoint Feature Histogram) 原理

特性VFHCVFH处理对象整个物体点云物体点云被分割后的稳定表面块(簇)对遮挡的鲁棒性弱。遮挡会破坏全局形状,导致描述子失效。极强。只依赖于稳定存在的部分。描述子维度263 维308 维 (263 + 45 SC)输出数量一个物体产生1 个描述子一个物体可能产生多个签名计算复杂度相对较低较高(需先聚类)主要应用场景完整、分割良好的物体存在遮挡、背景杂波的不完整物体。

weixin_37079656的博客 619

Qwen3-Omni-30B-A3B-Instruct微调指南:如何打造专属智能博物官(附数据集)

本文详细介绍了如何对Qwen3-Omni-30B-A3B-Instruct模型进行微调,以打造专业的智能博物官。指南涵盖了从理解模型架构优势、构建高质量文博数据集,到使用LLaMA-Factory进行实战微调、效果评估与部署优化的完整流程,并提供了关键的环境配置与性能优化建议,帮助开发者在垂直领域高效定制专属AI助手。

weixin_29096377的博客 1142

【HDFS实战】HDFS联合(联邦)集群的发展史

HDFS联合(联邦)机制

有问题的请私信或关注v【技术印记】留言 2024

欧姆龙SYSMAC STUDIO如何与基恩士SR-1000进行EIP通信

简要介绍一下扫码枪和欧姆龙sysmac的配置

weixin_42031602的博客 4777

详解hadoop之二:HDFS Federation(联邦)

  hdfs federation即hdfs的联邦,可以简单理解为多个hdfs集群聚合到一起,更准确的理解是有多个namenode节点的hdfs集群hadoop1.x的hdfs架构主要由namespace(命名空间)和Block Storage(块的存储)两层组成1.namespace由目录、文件、块组成。 支持创建、删除、修改、列举命名空间相关系统的操作2.Block Storageblock ...

fengxuezhiye的专栏 1万+

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)算法背景介绍Hessian 矩阵与泰勒多项式关于求t导数与中心点、亚像素点高斯函数作用文献 算法背景介绍 在线结构光视觉传感器中,由线激光器发射出的线结构光,在本质上为一个连续且具有一定厚度的空间光平面,而在目标表面上所形成的具有一定宽度的光条特征,即为该光平面与目标表面相交而成的交线。在该空间光平面的厚度方向上,光强近似服从高斯分布,因而在摄像机采集到的光条图像中,在沿着光条宽度的方向或光条的法线方向上,其灰度也会呈现出类似

jiangxing11的博客 1万+

Python爬虫实战:抓取统计数据并生成年度对比图表详解

国家统计局网站(静态HTML页面Excel文件JSON接口(部分新版API)我们将重点演示从统计公报页面抓取数据,结合解析Excel文件,实现多种数据格式爬取处理。本文从零开始搭建了一个爬取国家统计数据并制作年度对比图表的完整流程。读者可以根据实际需求调整爬取目标,丰富数据分析维度,甚至结合机器学习模型预测未来趋势。欢迎你在评论区留言分享你的爬虫实践,或提出改进建议!

2201_76125261的博客 1000

【Hadoop】HDFS高可用与高扩展原理分析(HA架构与Federation机制)

通俗的讲,集群启动时DataNode会向NameNode上报所有的Block块信息,每个块(无论大小)对象约占150byte,而NameNode的内存是有限的,当HDFS文件愈来愈多的时候,NameNode就会成为集群的短板(这也是为什么HDFS不适合存储小文件的原因)。图中的Zookeeper是为了实现自动切换NameNode功能,当多个NameNode启动的时候会分别向Zookeeper中注册一个临时节点,当它挂掉的时候,这个临时节点也就消失了,这是Zookeeper的特性。

ccql's Blog 3223

海思芯片OpenHarmony系统移植:Sensor传感器模块HDF驱动配置HCS文件详解

海思系列芯片的传感器模块通过HDF(Hardware Driver Foundation)驱动框架进行管理和配置。传感器HCS(HDF Configuration Source)配置文件定义了各类传感器的硬件参数、总线配置、寄存器序列等信息,为传感器驱动提供必要的初始化和运行参数。海思系列芯片适配OpenHarmony的传感器HDF配置HCS文件是传感器驱动开发的关键部分,通过合理配置可以实现各种传感器设备的驱动支持。

m0_67505153的博客 208

HDFS Federation 设计动机和基本原理

转自:http://dongxicheng.org/mapreduce/hdfs-federation-introduction/ HDFS Federation是Hadoop最新发布版本Hadoop-0.23.0中为解决HDFS单点故障而提出的namenode水平扩展方案。该方案允许HDFS创建多个namespace以提高集群的扩展性和隔离性。本篇文章主要介绍了HDFS Feder

384

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

HDFS Federation客户端(viewfs)配置攻略

转自:http://dongxicheng.org/hadoop-hdfs/hdfs-federation-viewfs/ 1.HDFS Federation产生背景 在Hadoop 1.0中,HDFS的单NameNode设计带来诸多问题,包括单点故障、内存受限制约集群扩展性和缺乏隔离机制(不同业务使用同一个NameNode导致业务相互影响)等,为了解决这些问题,Hadoop 2....

382

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

HDFS Federation

  HDFS Federation  HDFS Federation是Hadoop最新发布版本Hadoop-0.23.0中为解决HDFS单点故障而提出的namenode水平扩展方案。该方案允许HDFS创建多个namespace以提高集群的扩展性和隔离性。本篇文章主要介绍了HDFS Federation的设计动机和基本原理。  背景    图一  Namespace 管理目录,文件和数据块。它支持常...

weixin_34250434的博客 235

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

分布式文件系统HDFS中的Federation

HDFS Federation是Hadoop-0.23.0中为解决HDFS单点故障而提出的namenode水平扩展方案。该方案允许HDFS创建多个namespace以提高集群的扩展性和隔离性。本篇文章主要介绍了HDFS Feder...

282
上一篇: java正则表达式忽略大小写匹配
下一篇: Hadoop error:File does not exist: /benchmarks/TestDFSIO/io_data/test_io_0
heipacker
博客等级 码龄17年 9粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值