经验总结:Hadoop分布式文件系统中架构和设计要点汇总
2010-06-07 11:00:53Hadoop分布式文件系统是不被大多数人知道的东西,这里就向大家介绍一下Hadoop分布式文件系统架构和设计的要点,欢迎大家一起来学习。
本节继续向大家介绍一下Hadoop分布式文件系统中架构和设计的要点,本节主要包括四个部分,相信通过本节的介绍你对Hadoop分布式文件系统中架构和设计的要点应该有深刻的认识。下面是具体介绍。
一、健壮性Hadoop分布式文件系统HDFS的主要目标就是实现在失败情况下的数据存储可靠性。常见的三种失败:Namenodefailures,Datanodefailures和网络分割(networkpartitions)。1、硬盘数据错误、心跳检测和重新复制每个Datanode节点都向Namenode周期性地发送心跳包。网络切割可能导致一部分Datanode跟Namenode失去联系。Namenode通过心跳包的缺失检测到这一情况,并将这些Datanode标记为dead,不会将新的IO请求发给它们。寄存在deadDatanode上的任何数据将不再有效。Datanode的死亡可能引起一些block的副本数目低于指定值,Namenode不断地跟踪需要复制的block,在任何需要的情况下启动复制。在下列情况可能需要重新复制:某个Datanode节点失效,某个副本遭到损坏,Datanode上的硬盘错误,或者文件的replication因子增大。
2、集群均衡HDFS支持数据的均衡计划,如果某个Datanode节点上的空闲空间低于特定的临界点,那么就会启动一个计划自动地将数据从一个Datanode搬移到空闲的Datanode。当对某个文件的请求突然增加,那么也可能启动一个计划创建该文件新的副本,并分布到集群中以满足应用的要求。这些均衡计划目前还没有实现。
3、数据完整性从某个Datanode获取的数据块有可能是损坏的,这个损坏可能是由于Datanode的存储设备错误、网络错误或者软件bug造成的。HDFS客户端软件实现了HDFS文件内容的校验和。当某个客户端创建一个新的Hadoop分布式文件系统HDFS文件,会计算这个文件每个block的校验和,并作为一个单独的隐藏文件保存这些校验和在同一个HDFSnamespace下。当客户端检索文件内容,它会确认从Datanode获取的数据跟相应的校验和文件中的校验和是否匹配,如果不匹配,客户端可以选择从其他Datanode获取该block的副本。
4、元数据磁盘错误FsImage和Editlog是HDFS的核心数据结构。这些文件如果损坏了,整个HDFS实例都将失效。因而,Namenode可以配置成支持维护多个FsImage和Editlog的拷贝。任何对FsImage或者Editlog的修改,都将同步到它们的副本上。这个同步操作可能会降低Namenode每秒能支持处理的namespace事务。这个代价是可以接受的,因为HDFS是数据密集的,而非元数据密集。当Namenode重启的时候,它总是选取最近的一致的FsImage和Editlog使用。Namenode在HDFS是单点存在,如果Namenode所在的机器错误,手工的干预是必须的。目前,在另一台机器上重启因故障而停止服务的Namenode这个功能还没实现。
5、快照快照支持某个时间的数据拷贝,当HDFS数据损坏的时候,可以恢复到过去一个已知正确的时间点。HDFS目前还不支持快照功能。
二、数据组织
1、数据块兼容Hadoop分布式文件系统(HDFS)的应用都是处理大数据集合的。这些应用都是写数据一次,读却是一次到多次,并且读的速度要满足流式读。HDFS支持文件的write-once-read-many语义。一个典型的block大小是64MB,因而,文件总是按照64M切分成chunk,每个chunk存储于不同的Datanode
2、步骤某个客户端创建文件的请求其实并没有立即发给Namenode,事实上,HDFS客户端会将文件数据缓存到本地的一个临时文件。应用的写被透明地重定向到这个临时文件。当这个临时文件累积的数据超过一个block的大小(默认64M),客户端才会联系Namenode。Namenode将文件名插入文件系统的层次结构中,并且分配一个数据块给它,然后返回Datanode的标识符和目标数据块给客户端。客户端将本地临时文件flush到指定的Datanode上。当文件关闭时,在临时文件中剩余的没有flush的数据也会传输到指定的Datanode,然后客户端告诉Namenode文件已经关闭。此时Namenode才将文件创建操作提交到持久存储。如果Namenode在文件关闭前挂了,该文件将丢失。上述方法是对通过对HDFS上运行的目标应用认真考虑的结果。如果不采用客户端缓存,由于网络速度和网络堵塞会对吞估量造成比较大的影响。
3、流水线复制当某个客户端向HDFS文件写数据的时候,一开始是写入本地临时文件,假设该文件的replication因子设置为3,那么客户端会从Namenode获取一张Datanode列表来存放副本。然后客户端开始向***个Datanode传输数据,***个Datanode一小部分一小部分(4kb)地接收数据,将每个部分写入本地仓库,并且同时传输该部分到第二个Datanode节点。第二个Datanode也是这样,边收边传,一小部分一小部分地收,存储在本地仓库,同时传给第三个Datanode,第三个Datanode就仅仅是接收并存储了。这就是流水线式的复制。
三、可访问性Hadoop分布式文件系统(HDFS)给应用提供了多种访问方式,可以通过DFSShell通过命令行与HDFS数据进行交互,可以通过javaAPI调用,也可以通过C语言的封装API访问,并且提供了浏览器访问的方式。正在开发通过WebDav协议访问的方式。具体使用参考文档。
四、空间的回收

1、文件的删除和恢复用户或者应用删除某个文件,这个文件并没有立刻从HDFS中删除。相反,HDFS将这个文件重命名,并转移到/trash目录。当文件还在/trash目录时,该文件可以被迅速地恢复。文件在/trash中保存的时间是可配置的,当超过这个时间,Namenode就会将该文件从namespace中删除。文件的删除,也将释放关联该文件的数据块。注意到,在文件被用户删除和HDFS空闲空间的增加之间会有一个等待时间延迟。当被删除的文件还保留在/trash目录中的时候,如果用户想恢复这个文件,可以检索浏览/trash目录并检索该文件。/trash目录仅仅保存被删除文件的最近一次拷贝。/trash目录与其他文件目录没有什么不同,除了一点:HDFS在该目录上应用了一个特殊的策略来自动删除文件,目前的默认策略是删除保留超过6小时的文件,这个策略以后会定义成可配置的接口。
2、Replication因子的减小当某个文件的replication因子减小,Namenode会选择要删除的过剩的副本。下次心跳检测就将该信息传递给Datanode,Datanode就会移除相应的block并释放空间,同样,在调用setReplication方法和集群中的空闲空间增加之间会有一个时间延迟。本节关于Hadoop分布式文件系统中架构和设计的要点介绍到这里。
【编辑推荐】
易飞ERP系统内未开票入账,下月开票后怎么系统如何处理
走暂估
大数据云计算好不好学习?
大数据专业还是很好学习的,当前,国家大数据战略实施已经到了落地的关键时期,大数据技术产业创新发展、大数据与实体经济深度融合、以及大数据安全管理与法律规制等方面都进入了攻坚阶段大数据领域的人才需求主要围绕大数据的产业链展开,涉及到数据的采集、整理、存储、安全、分析、呈现和应用,岗位多集中在大数据平台研发、大数据应用开发、大数据分析和大数据运维等几个岗位。当前整个IT行业对于大数据人才的需求量还是比较大的
怎么做一个商业的网站?
·详细文字说明第一步:客户提出需求客户通过电话、电子邮件或在线订单方式提出自己网站建设方面的“基本需求”。 涉及内容包括: 1、公司介绍; 2、栏目描述; 3、网站基本功能需求; 4、基本设计要求第二步:设计建站方案 首先,根据企业的要求和实际状况,设计适合企业的网站方案。 是选择虚拟主机服务,还是自己购置服务器;根据企业风格度身定制;一切根据企业的实际需要选择,最合适的才是最好的。 第三步:查询申办域名 根据企业的需要,决定是国际域名还是国内域名。 域名就是企业在网络上的招牌,是一个名字,并不影响网站的功能和技术。 如果是登记国际域名的话,就必须向国际互联网络管理中心申请;国内域名则向中国互联网服务中心登记。 第四步:网站系统规划 网站是发布公司产品与服务信息的平台,所以网站内容非常重要。 一个好的网站,不仅仅是一本网络版的企业全貌和产品目录,它还必须给网站浏览者,即企业的潜在客户提供方便的浏览导航,合理的动态结构设计,适合企业商务发展的功能构件,如信息发布系统、产品展示系统等,丰富实用的资讯和互动空间。 我们将根据客户的简单材料,精心进行规划,提交出一份网站建设方案书。 第五步确定合作意向双方以面谈、电话或电子邮件等方式,针对项目内容和具体需求进行协商。 双方认可后,签署《网站建设合同书》并支付50%网站建设预付款。 第六步:网站内容整理根据网站建设方案书,由客户组织出一份与企业网站栏目相关的内容材料(电子文档文字和图片等),我们将对相关文字和图片进行详细的处理、设计、排版、扫描、制作,这一过程需要客户给予积极的配合。 第七步:网页设计、制作、修改 一旦网站的内容与结构确定了,下一步的工作就是进行网页的设计和程序的开发。 网页设计关乎企业的形象,一个好的网页设计,能够在信息发布的同时对公司的意念以及宗旨作出准确的诠释。 很多国际大型公司都不惜花费巨大的投入在网页的设计上。 我们拥有专业的技术人员,将给您提供最专业的网页设计,使您的网站表现不凡,脱颖而出。 第八步:网站提交客户审核并发布网站设计、制作、修改、程序开发完成后,提交给客户审核,客户确认后,支付网站建设余款。 同时,网站程序及相关文件上传到网站运行的服务器,至此网上正式开通并对外发布。 第九步:网站网站推广及后期维护在网络上建立了一个家,是企业上网的一个重要标志,但还不等于说就可以大功告成了。 因为一个设计新颖,功能齐全的网站,如果没有人来看就起不到应有的作用了。 为了能让更多的人来浏览企业的网站,必须有一个详尽而专业的网站推广方案,包括著名网络搜索引擎登录,网络广告发布,邮件群发推广,Logo互换链接等等。 这一部分尤其重要,专业的网络营销推广策划必不可少。 厦门乙天科技可给您提供国内外搜索引擎登陆服务、门户网站分类广告、分布式批量电子邮件广告、电子杂志贴片等多种推广方案。 另外,我们还将根据您具体的需要,按您的要求和授权,对您的网站页面和内容进行适当的修改、更新、维护服务。 咋办网()是一个年轻而富有朝气的信息通信技术网站,网站根据信息通信技术的各个方面分别设立不同的频道,提供相应的技术资料、信息、技巧、方案,为不同层次的用户提供信息通信技术咨询服务,为广大电脑用户以及专业技术人员解决实际问题提供方便和参考。 咋办网()除了提供在线信息通信技术服务外,还为北京市企事业单位和个人用户提供便捷优质的上门技术服务,咋办网提供的维修项目有:电脑服务:台式机维修、服务器维修、笔记本维修、显示器维修、数据备份与恢复、电脑代购与回收 网络服务:企业局域网安装调试、企业局域网维护管理、家庭局域网安装调试、家庭宽带共享上网、网络故障排查修复、无线上网服务 办公服务:办公设备故障维修、办公设备维护保养、办公设备回收租赁 网站服务:域名注册服务、虚拟主机服务、企业邮箱服务、网站开发设计、网站宣传推广、网站改版维护 外包服务:计算机网络运维外包、企业IT架构建设外包、企业IT服务管理外包、信息通信产品代购、企业信息处理外包 系统集成:综合布线系统、集团电话系统、安防监控系统、智能会议系统、音乐广播系统 、网络管理系统 软件服务:软件应用支持、软件应用部署、自有成型软件、软件项目外包、开发人员外包技术咨询:设备采购咨询、软件应用咨询、网络技术咨询、建站技术咨询咋办网专业、诚信的服务,高尚的职业道德,保障您的信息通信系统安全高效运行,并且力争为您节省更多的时间和成本!
发表评论