设为首页 收藏本站
查看: 601|回复: 0

[经验分享] hadoop文件系统中文件复本的默认布局

[复制链接]

尚未签到

发表于 2016-12-12 06:04:04 | 显示全部楼层 |阅读模式
  最近一有时间就在补数据结构和学Hadoop上的知识,今天看了一下Hadoop中的HDFS(分布式文件系统)中是怎么将文件写入HDFS中的,在将文件写入HDFS的时候有一件事情也在发生,就是文件复本的写入,这就又要牵扯到一个东西,就是文件复本的布局,今天就来谈谈文件的复本在datanode上是怎么个布局法。
  首先来说说文件复本是什么,其实从字面上也就知道了,其实他就是我们写入文件一模一样的东西,就是把文件复制了几份,在Hadoop中一般情况下复制数量是3份(这3个复本的datanode分布好后会构成一个管线)。为什么要复制了?就是为了防止数据丢失,当 一个datanode上的数据丢失或者损坏后,其他的节点上还有复本,就是为了这样才有了复本的出现。
  我们知道,namenode是领导,它负责统筹规划,因此数据块和 它们的复本分配到哪个datanode上也要听从他的指挥。它也不是随便乱分配的,它需要在”可靠性“,”写入宽带 “和”读取宽带“之间来权衡好。如果把所有的复本都写在一个datanode上的话,它的”写入宽带“最小,这个想也想得出,它不用把数据传出去嘛,它的复制管线都是在单一的节点上运行,但是这样如果该节点发生了故障,块中的数据就会丢失,也就是它不提供真实的”冗余“,  还有虽然它的”写入宽带很小“但是在同一机架上”读取宽带“很高,另一方面,把他们放在不同的数据中心,那样可以最大限度的提高冗余,但是宽带的损耗非常大。
  hadoop的默认布局策略是在运行客户端的节点上放第1个复本(如果客户端运行在集群之外,就随机的选择一个节点,但是系统会避免挑选那些存储太满或太忙的节点)。第2个复本放在与第1个不同且是随机选择的另外的机架中的节点上。第3个复本与第2个复本放在同一个机架上面,且是随机选择的一个节点,其他的复本放在集群中随机选择的节点上面,但是系统会尽量避免在相同的机架上面放太多的复本。
  一旦选定了复本的放置的位置,就会根据网络拓扑创建一个管线,如下图为一个典型的复本管线:
  
DSC0000.jpg
 
  总的来说,这一方法不仅提供了很好的稳定性,数据不容易丢失(数据块存储在两个机架中)同时实现了很好的负载均衡,包括写入宽带(写入操作只要遍历一个交换机),读取性能(可以从两个机架中进行选择读取)和集群中块的均匀分布(客户端只在本地机架写入一个块)。
  PS:以上的内容参考自《Hadoop 权威指南》。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-312787-1-1.html 上篇帖子: hadoop经典系列(六)2.x的mapreduce过程图解 下篇帖子: hadoop 2.x-HDFS HA --Part I: abstraction
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表