Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

Google File System中文版 1.0 PDF 下载


分享到:
时间:2022-02-26 09:53来源:http://www.java1234.com 作者:转载  侵权举报
Google File System中文版 1.0 PDF 下载
失效链接处理
Google File System中文版 1.0 PDF 下载


本站整理下载:
提取码:g6et 
 
 
相关截图:
 
主要内容:

1 简介
为了满足 Google 迅速增长的数据处理需求,我们设计并实现了 Google 文件系统(Google File System –
GFS)。GFS 与传统的分布式文件系统有着很多相同的设计目标,比如,性能、可伸缩性、可靠性以及可用性。
但是,我们的设计还基于我们对我们自己的应用的负载情况和技术环境的观察的影响,不管现在还是将来,
GFS 和早期文件系统的假设都有明显的不同。所以我们重新审视了传统文件系统在设计上的折衷选择,衍生
出了完全不同的设计思路。
首先,组件失效被认为是常态事件,而不是意外事件。GFS 包括几百甚至几千台普通的廉价设备组装的
1 译者 alex,原文地址 http://blademaster.ixiezi.com/
 Google File System 中文版 1.0 版
作者/编著者:阎伟 邮件: andy.yanwei@163.com 博客: http://andyblog.sinaapp.com 微博:http://weibo.com/2152410864 2/33
存储机器,同时被相当数量的客户机访问。GFS 组件的数量和质量导致在事实上,任何给定时间内都有可能
发生某些组件无法工作,某些组件无法从它们目前的失效状态中恢复。我们遇到过各种各样的问题,比如应
用程序 bug、操作系统的 bug、人为失误,甚至还有硬盘、内存、连接器、网络以及电源失效等造成的问题。
所以,持续的监控、错误侦测、灾难冗余以及自动恢复的机制必须集成在 GFS 中。
其次,以通常的标准衡量,我们的文件非常巨大。数 GB 的文件非常普遍。每个文件通常都包含许多应
用程序对象,比如 web 文档。当我们经常需要处理快速增长的、并且由数亿个对象构成的、数以 TB 的数据
集时,采用管理数亿个 KB 大小的小文件的方式是非常不明智的,尽管有些文件系统支持这样的管理方式。
因此,设计的假设条件和参数,比如 I/O 操作和 Block 的尺寸都需要重新考虑。
第三,绝大部分文件的修改是采用在文件尾部追加数据,而不是覆盖原有数据的方式。对文件的随机写
入操作在实际中几乎不存在。一旦写完之后,对文件的操作就只有读,而且通常是按顺序读。大量的数据符
合这些特性,比如:数据分析程序扫描的超大的数据集;正在运行的应用程序生成的连续的数据流;存档的
数据;由一台机器生成、另外一台机器处理的中间数据,这些中间数据的处理可能是同时进行的、也可能是
后续才处理的。对于这种针对海量文件的访问模式,客户端对数据块缓存是没有意义的,数据的追加操作是
性能优化和原子性保证的主要考量因素。
第四,应用程序和文件系统 API 的协同设计提高了整个系统的灵活性。比如,我们放松了对 GFS 一致
性模型的要求,这样就减轻了文件系统对应用程序的苛刻要求,大大简化了 GFS 的设计。我们引入了原子性
的记录追加操作,从而保证多个客户端能够同时进行追加操作,不需要额外的同步操作来保证数据的一致性。
本文后面还有对这些问题的细节的详细讨论。
Google 已经针对不同的应用部署了多套 GFS 集群。最大的一个集群拥有超过 1000 个存储节点,超过
300TB 的硬盘空间,被不同机器上的数百个客户端连续不断的频繁访问。
2 设计概述
2.1 设计预期
在设计满足我们需求的文件系统时候,我们的设计目标既有机会、又有挑战。之前我们已经提到了一些
需要关注的关键点,这里我们将设计的预期目标的细节展开讨论。
系统由许多廉价的普通组件组成,组件失效是一种常态。系统必须持续监控自身的状态,它必须将组件
失效作为一种常态,能够迅速地侦测、冗余并恢复失效的组件。
系统存储一定数量的大文件。我们预期会有几百万文件,文件的大小通常在 100MB 或者以上。数个 GB
大小的文件也是普遍存在,并且要能够被有效的管理。系统也必须支持小文件,但是不需要针对小文件做专
门的优化。

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐