Hdfs-Raid tools文档翻译
来源:互联网 发布:nba纳什数据 编辑:程序博客网 时间:2024/05/26 05:53
国庆放假7天,花了二天时间搬家,花了二天时间去绍兴,接下来这三天用来学习,这几周比较忙,加班比较多,手头上有几个task,因此没有及时更新blog,但是不管再忙,都一定要花时间来学习,上周javaone大会结束了,看了毕玄等同学的分享,java的性能方面很多公司还在研究当中,特别GC管理这块,hadoop书出了第二版,网上已经有下载了,这个月hadoop world也要举办,基本上是跟hadoop相关的session,taobao的TFS开源,比较靠谱的东西,同时也适合于存储小文件,这是由hdfs有区别的地方,接下来抽空看看,加深对DFS的理解和感悟。
Hdfs-Raid tools文档翻译
相关链接:
https://issues.apache.org/jira/browse/MAPREDUCE-1969
https://issues.apache.org/jira/browse/MAPREDUCE-2036
在数据块存储时采用RAID5或RAID6来代替triplication scheme(3副本方案),原先的存储只有1 /3可用,因为一个block有三个副本,如果副本设置更多,那么存储的使用将更低,为了提高存储容量的使用,RAID将采用检验块来得到丢失的数据块,而不是通过副本来得到,这样可以减少需要附加的存储容量。
按RAID6来存储,将为4个数据块产生2个附近的校验块,当4个中有2个数据块丢失,都是可以恢复回来的,但是如果2个以上的数据块丢失,就无法恢复,这是RAID6不好的地方。
Raid5:
Raid6:
设计理论:
组策略问题
当一个文件的数据很大时,即大于4个数据块时,相当好处理,就按4个为一组来计算出校验块,然后剩下的数据块组合一组来计算出校验块。
最难解决的问题,就是小文件,如果把每个小文件看成一组,这样就浪费了很多空间。
如果把多个文件看成一个组,问题又来了,因为文件之间是独立,当有文件删除时,其数据块不能删除,不然同组中其他文件的数据块将无法被恢复。
他们对yahoo的7个集群进行了统计,
80%的空间是存储小于8G的文件。
75%以上的空间存储大于8G的文件目录。
因此采用将一个目录作为一个组,来计算校验数据块。
当前设计:
提供一个RAID Tool工具给客户端使用,支持以目录作为组来进行RAID。提供计算校验数据与恢复数据二种功能。
采用MR-job来计算校验数据块。
客户端访问数据时,如果数据发生错误或丢失,就可以通过RAID tool进行在线恢复。就是对FSInputStream再包装一层,提供恢复丢失数据块的功能。
当客户端读HDFS时,发生错误。
RAIDFileSyste,包装好FileInputStream。
离线错误检测
NameNodeFsck检测错误的数据块,然后利用MRjob来对其进行恢复。
错误处理可以在线恢复,也可以提供离线恢复。
在当前的hadoop的数据块的副本数目都是由ReplicationMonitor线程来离线检测和恢复的。
提高与改进:
校验数据存储格式
影响到NN的资源和空间使用。
有隔离,密集和稀疏。
可靠性问题
数据块及校验数据的存储位置选择比3副本策略复杂。
数据恢复的性能
当某个块发生冲突,可以直接重写这个数据块就可以,并不要去重写整个文件。
- Hdfs-Raid tools文档翻译
- HDFS-RAID
- hadoop-2.7.4-翻译文档-联邦HDFS
- nose1.3.7文档翻译--5.Testing tools
- HDFS Raid 介绍
- Hadoop官方文档翻译——HDFS Architecture 2.7.3
- HDFS and Erasure Codes (HDFS-RAID)
- Hadoop HDFS Tools
- 【Hadoop】Hadoop官方文档翻译——HDFS Architecture 2.7.3
- HDFS用户指南(翻译)
- HDFS用户指南(翻译)
- HDFS Balancer(翻译)
- OTA升级Google官方文档翻译——OTA Package Tools
- 翻译文档
- 文档翻译
- 把Jerasure整合到HDFS-RAID中
- 【网站高性能 2】----RAID vs HDFS
- HDFS 官方文档 中文
- c#线程问题:线程间操作无效:从不是创建控件 的线程访问它InvalidOperationException异常
- C#笔记13:迭代器
- 嵌入式linux与ARM开发板的入门建议
- 从 Delphi 7 到 Delphi 2010
- windows系统下JDK1.6环境变量配置
- Hdfs-Raid tools文档翻译
- 人民币大写的正确写法(开票据事项)
- 解决 WPF 自绘窗体 AllowsTransparency = true 和 Webbrowser 等内置窗体显示冲突的办法和思路
- 动态添加Table
- 无奈
- D3D,一个平面,正反面进行纹理映射
- 上手haskell没有不痛苦的!
- 程序员:下一次面试前你需要准备的五个基本步骤
- C++文件读写