下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

分布式文件系统HDFS中的Federation的讲解

作者:课课家     来源: www.kokojia.com点击数:1231发布时间: 2015-11-02 12:05:47

标签: 大数据视频教程大数据教程数据

在众多学习中,文章也许不起眼,但是重要的下面我们就来讲解一下!!

1. 当前HDFS概况
1.1 当前HDFS架构
当前HDFS包含两层结构:
(1) Namespace 管理目录,文件和数据块。它支持常见的文件系统操作,如创建文件,修改文件,删除文件等。
(2)Block Storage有两部分组成:
Block Management维护集群中datanode的基本关系,它支持数据块相关的操作,如:创建数据块,删除数据块等,同时,它也会管理副本的复制和存放。
Physical Storage存储实际的数据块并提供针对数据块的读写服务。Oracle培训
【Block Storage的这两部分分别在namenode和datanode上实现,所以该模块由namenode和datanode分工完成】

当前HDFS架构只允许整个集群中存在一个namespace,而该namespace被仅有的一个namenode管理。这个架构使得HDFS非常容易实现,但是,它(见上图)在具体实现过程中会出现一些模糊点,进而导致了很多局限性(下面将要详细说明),当然这些局限性只有在拥有大集群的公司,像baidu,腾讯等出现。
1.2 当前HDFS局限性oracle教程
【Block Storage和namespace高耦合】
当前namenode中的namespace和block management的结合使得这两层架构耦合在一起,难以让其他可能namenode实现方案直接使用block storage。
【namenode扩展性】
HDFS的底层存储是可以水平扩展的(解释:底层存储指的是datanode,当集群存储空间不够时,可简单的添加机器已进行水平扩展),但namespace不可以。当前的namespace只能存放在单个namenode上,而namenode在内存中存储了整个分布式文件系统中的元数据信息,这限制了集群中数据块,文件和目录的数目。
【性能】
文件操作的性能制约于单个namenode的吞吐量,单个namenode当前仅支持约60K的task,而下一代ApacheMapReduce将支持多于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架构

趋势一:数据的资源化
何为资源化,是指大数据成为企业和社会关注的重要战略资源,并已成为大家争相抢夺的新焦点。因而,企业必须要提前制定大数据营销战略计划,抢占市场先机。
趋势二:与云计算的深度结合
大数据离不开云处理,云处理为大数据提供了弹性可拓展的基础设备,是产生大数据的平台之一。自2013年开始,大数据技术已开始和云计算技术紧密结合,预计未来两者关系将更为密切。除此之外,物联网、移动互联网等新兴计算形态,也将一齐助力大数据革命,让大数据营销发挥出更大的影响力。
趋势三:科学理论的突破
随着大数据的快速发展,就像计算机和互联网一样,大数据很有可能是新一轮的技术革命。随之兴起的数据挖掘、机器学习和人工智能等相关技术,可能会改变数据世界里的很多算法和基础理论,实现科学技术上的突破。
趋势四:数据科学和数据联盟的成立
未来,数据科学将成为一门专门的学科,被越来越多的人所认知。各大高校将设立专门的数据科学类专业,也会催生一批与之相关的新的就业岗位。与此同时,基于数据这个基础平台,也将建立起跨领域的数据共享平台,之后,数据共享将扩展到企业层面,并且成为未来产业的核心一环。
趋势五:数据泄露泛滥
未来几年数据泄露事件的增长率也许会达到100%,除非数据在其源头就能够得到安全保障。可以说,在未来,每个财富500强企业都会面临数据攻击,无论他们是否已经做好安全防范。而所有企业,无论规模大小,都需要重新审视今天的安全定义。在财富500强企业中,超过50%将会设置首席信息安全官这一职位。企业需要从新的角度来确保自身以及客户数据,所有数据在创建之初便需要获得安全保障,而并非在数据保存的最后一个环节,仅仅加强后者的安全措施已被证明于事无补。
趋势六:数据管理成为核心竞争力
数据管理成为核心竞争力,直接影响财务表现。当“数据资产是企业核心资产”的概念深入人心之后,企业对于数据管理便有了更清晰的界定,将数据管理作为企业核心竞争力,持续发展,战略性规划与运用数据资产,成为企业数据管理的核心。数据资产管理效率与主营业务收入增长率、销售收入增长率显著正相关;此外,对于具有互联网思维的企业而言,数据资产竞争力所占比重为36.8%,数据资产的管理效果将直接影响企业的财务表现。


为了水平扩展namenode,federation使用了多个独立的namenode/namespace。这些namenode之间是联合的,也就是说,他们之间相互独立且不需要互相协调,各自分工,管理自己的区域。分布式的datanode被用作通用的数据块存储设备。每个datanode要向集群中所有的namenode注册,且周期性地向所有namenode发送心跳和块报告,并执行来自所有namenode的命令。oracle视频教程
一个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使得:
新的文件系统(non-HDFS)可以在block storage上构建
新的应用程序(如HBase)可以直接使用block storage层
分离的block storage层为将来完全分布式namespace打下基础oracle数据库教程
【设计简单】
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分摊文件和负载,该方法更多的需要人工介入已达到理想的负载均衡。
更多视频课程文章的课程,可到课课家官网查看。我在等你哟!!!

赞(114)
踩(2)
分享到:
华为认证网络工程师 HCIE直播课视频教程