18新利最新登入Google文件系统是如何运作的吗

Google文件系统是由谷歌开发的一个在线工具。

谷歌是一个数十亿美元的公司。它的大国的球员之一万维网甚至更远。该公司依赖于一个分布式计算系统为用户提供他们所需要的基础设施来访问、创建和修改数据。当然谷歌购买最先进的电脑和服务器保持平稳运行,对吧?

错了。权力谷歌的机器操作不尖端力量电脑有大量的铃声和口哨声。事实上,它们相对廉价的机器上运行Linux操作系统。18新利最新登入如何在网络上最具影响力的公司之一依靠廉价的硬件?这是由于Google文件系统(GFS),它利用现成的服务器的优势而补偿任何硬件的弱点。所有的设计。

广告

谷歌使用GFS组织操纵巨大的文件,并允许应用程序开发人员需要研究和开发资源。GFS谷歌独有,不出售。但它可以作为一个模型文件系统组织具有类似需求。

一些GFS细节仍是个谜谷歌以外的任何人。例如,谷歌并没有透露多少计算机使用操作系统。18新利最新登入在谷歌官方文件,公司只是说有“成千上万”的计算机系统(来源:谷歌)。但尽管如此保密的面纱,谷歌已经大部分GFS公共知识的结构和操作。

所以GFS到底做什么,为什么它是重要的?在下一节中找到。

广告

Google文件系统基础知识

谷歌开发者经常处理大文件,很难操作使用传统计算机文件系统。文件的大小把程序员不得不做出许多决定GFS的设计。另一个大问题是可伸缩性,指的是系统易于增加产能。一个可伸缩系统如果很容易增加系统的容量。系统的性能不受影响。谷歌需要一个非常大的网络计算机处理所有的文件,所以可伸缩性是一个最关心的问题。

因为网络是如此的巨大,监控和维护,这是一个具有挑战性的任务。在开发系统,程序员决定自动化的管理职责要求尽量保持系统运行。这是一个关键的原则自主计算一个概念,计算机能够实时诊断和解决这些问题而不需要人工干预。GFS团队面临的挑战不仅是创建一个自动监测系统,同时设计,以便它可以工作在一个巨大的计算机网络。

广告

团队的设计的关键是简化的概念。他们得出的结论是,随着系统越来越复杂,经常出现问题。一个简单的方法是容易控制,即使系统的规模是巨大的。

基于这种哲学,GFS团队决定,用户会获得基本文件命令。这些包括命令,如开放,创建,,关闭文件。团队还包括一些专门的命令:附加快照。他们创建了基于谷歌需要专门的命令。允许客户添加信息附加到现有文件没有覆盖以前写数据。18luck手机登录快照是一个命令创建计算机快速复制的内容。

文件GFS往往是非常大的,通常在几个g (GB)范围内。访问和操作大型的文件会占据很多的网络带宽。带宽是一个系统的能力数据从一个位置到另一个地方。GFS解决这个问题通过将文件分成64块每兆字节(MB)。收到每一块独特的64位的身份证号码称为块处理。虽然GFS可以处理小文件,其开发人员没有优化这些系统任务。

要求所有的文件块大小相同,GFS简化了应用程序资源。很容易看出这电脑附近的系统容量和未充分利用的。也很容易从一个资源块到另一个端口来平衡工作负载系统。

GFS的实际设计是什么?请继续往下读。

广告

Google文件系统体系结构

谷歌组织GFS集群的电脑。集群是一个简单的网络电脑。每个集群可能包含成百上千的机器。GFS集群中有三种实体:客户,主服务器chunkservers

在GFS的世界中,术语“客户”是指任何实体,使文件的请求。检索和操作请求的范围可以从现有的文件系统上创建新文件。客户可以是其他计算机或计算机应用。你可以把客户的客户GFS。

广告

主服务器充当协调员集群。主人的职责包括维护一个操作日志跟踪活动的大师的集群。操作日志有助于保持服务中断降到最低,如果主服务器崩溃,更换服务器,监控操作日志可以取而代之。主服务器也跟踪元数据描述的信息块。18luck手机登录讲述了主服务器的元数据文件数据块所属和适合整个文件。在启动时,主人民意调查所有的chunkservers集群。chunkservers告诉主服务器响应的内容库存。从那一刻开始,主服务器跟踪集群中的块的位置。

每个集群只有一个活跃的主服务器在任何时候(虽然每个集群的多个副本的主服务器硬件故障的情况下)。这听起来像一个好方子一个瓶颈——毕竟,如果只有一个机器协调一群成千上万的电脑,不会导致数据交通堵塞吗?GFS就围绕这个棘手的情况通过保持主服务器发送和接收的消息非常小。主服务器实际上并不处理文件数据。这叶子chunkservers。

Chunkservers GFS中的重要武器。他们负责存储64 mb的文件块。chunkservers不发送块到主服务器。相反,他们直接向客户机发送请求的块。GFS副本每一块并将其存储在不同的chunkservers多次。每个被称为副本副本。默认情况下,GFS使三副本/块,但用户可以更改设置,如果需要更多或更少的复制品。

18新利最新登入常规过程中这些元素如何一起工作吗?在下一节中找到。

广告

使用Google文件系统

文件请求遵循一个标准的工作流程。读请求很简单——客户端发送一个请求到主服务器发现客户端在哪里可以找到一个特定的文件系统上。服务器响应的位置各个块的主副本。主副本持有租赁从主服务器的一部分问题。

如果没有副本目前持有租赁,主服务器指定一块为主。它通过比较客户机的IP地址的地址chunkservers包含副本。主服务器选择chunkserver接近客户端。chunkserver块成为主要的。然后客户端联系合适的chunkserver直接,将副本发送给客户端。

广告

写请求要复杂的多。客户端仍然发送一个请求到主服务器,它回答主副本和二级副本的位置。客户端将这些信息存储在内存缓存中。18luck手机登录这样,如果客户需要引用同一个副本以后,它可以绕过主服务器。如果主副本变得不可用或复制品变化时,客户端将需要咨询主服务器再次联系chunkserver之前。

然后客户端发送的所有副本写入数据,从亲密到最远的一个复制品。不管最近的副本是一个主要的,次要的。谷歌比较这一数据传输的方法管道

副本收到数据后,主副本开始连续编号分配给每个更改的文件。变化被称为突变。序列号指示副本如何订单每个突变。18新利最新登入然后主要适用于突变序列以自己的数据。然后发送一个请求到二级副本写,遵循相同的应用程序的过程。如果一切正常,所有的副本跨集群包含新数据。二级副本报告回到主一旦申请过程结束。

那时,主副本报告给客户端。如果这个过程是成功的,在这里结束。如果不是,主副本告诉客户端发生了什么。例如,如果一个次要副本未能更新与特定突变,主副本通知客户端和重试多次突变的应用程序。如果二级副本不正确更新,主副本告诉二级副本重新开始从一开始写的过程。如果不工作,主服务器将识别受影响的复制品垃圾

GFS做什么别的垃圾主服务器做什么?请继续往下读。

广告

其他Google文件系统的功能

除了GFS提供基本服务,有一些特殊的功能,有助于保持系统平稳运行。在设计系统时,GFS开发者知道某些问题还会弹出基于系统的体系结构。他们选择用廉价的硬件,这使得建立一个大型系统具有成本效益的过程。这也意味着个人电脑系统中不总是可靠的。便宜的价格与电脑,倾向于失败。

GFS开发人员构建功能到系统来弥补单个组件固有的不可靠性。这些功能包括主和块复制、流线型的复苏过程中,平衡,陈旧的复制检测、清除垃圾和校验和检查

广告

虽然只有一个活动的主人服务器每GFS集群,主服务器副本的存在在其他机器上。一些副本,称为影子的主人,提供有限的服务,即使主主服务器是活动的。读请求这些服务是有限的,因为这些请求不以任何方式改变数据。影子主服务器总是有点落后于主主服务器,但通常只有几分之一秒。主服务器副本保持接触主主服务器,监控操作日志和轮询chunkservers跟踪数据。如果主主服务器失败,无法重新启动,第二个主服务器可以取而代之。

GFS复制块以确保数据可用,即使硬件失败。它存储副本在不同的机器上不同。这样,如果整个架失败,数据仍将存在于一个格式另一台机器上访问。GFS使用唯一的一块标识符来验证每个副本都是有效的。如果一个副本的处理不匹配块处理,主服务器创建一个新副本和分配chunkserver。

主服务器也监控集群作为一个整体和周期性调整的工作量将块从一个chunkserver转移到另一个地方。所有chunkservers运行在接近容量,但从未满负荷。主服务器监控块和验证每个副本都是电流。如果一个副本不匹配块的识别号码,主服务器指定它作为一个陈旧的复制品。陈旧的复制品就变成了垃圾。三天后,主服务器可以删除垃圾块。这是一个安全措施——用户可以查看前一块垃圾永久删除,防止意外删除。

为了防止数据损坏,GFS使用系统称为校验和检查。系统将每一个64 MB的块到块64字节(KB)。每个块在一块都有自己的32位校验和,这有点像一个指纹。主服务器监控块通过查看校验和。如果一个复制品的校验和不匹配的校验和主服务器的内存中,主服务器删除副本并创建一个新的来代替它。

什么样的硬件谷歌使用GFS吗?在下一节中找到。

广告

Google文件系统硬件

谷歌说对目前使用的硬件运行GFS除了是一个现成的集合,便宜Linux服务器。但在官方GFS报告,谷歌显示设备的规范,它用于GFS上运行一些基准测试性能。虽然测试设备可能不是一个真正的表示当前GFS的硬件,它给你一个想法的谷歌使用电脑来处理大量的数据存储和操纵。

测试设备包括一个主服务器,两个主副本,16客户和chunkservers。他们都使用相同的硬件规格相同的,他们都在Linux上运行操作系统。每双1.4 ghz Pentium III处理器、2 GB的内存和两个80 GB硬盘驱动器。相比之下,一些供应商目前提供消费者个人电脑是白人的两倍多强大的谷歌服务器用于测试。谷歌开发者证明GFS可以有效地使用温和的设备工作。

广告

网络连接的机器一起由100字节每秒(Mbps)全双工以太网连接和两个惠普2524网络交换机。GFS开发人员16客户机连接到一个开关和其他19个机器到另一个开关。他们与两个开关和一个gigabyte-per-second (Gbps)连接。

落后的硬件技术的前沿,谷歌可以以便宜的价格购买设备和组件。GFS的结构是很容易在任何时候添加更多的机器。如果一个集群开始接近满负荷,谷歌可以添加更多廉价的硬件系统和平衡工作负载。如果主服务器的内存在主服务器不堪重负,谷歌可以升级和更多的内存。该系统是真正可扩展的。

18新利最新登入谷歌是如何决定使用这个系统吗?一些信贷谷歌的招聘政策。谷歌以招聘计算机科学专业的研究生院和给他们他们需要的资源和空间像GFS实验系统。其他人说它来自一个“做你可以用你所拥有的”的心态,许多计算机系统开发人员(包括谷歌创始人)似乎拥有。最后,谷歌可能选择了GFS因为它适合处理的过程,帮助公司实现其既定目标的组织全世界的信息。18luck手机登录

学习更多关于计算机系统和相关的话题,看看下一个页面上的链接。

广告

特色

广告

加载……
Baidu