Facebook向新数据中心转移30PB数据绿色数据中心
作为世界上最大的社交网络,facebook公司一天积聚的数据比很多大公司一年产生的数据还要多。
目前按照facebook的做法,集群存储了30千万亿字节的数据,大概是Library of Congress存储信息数量的3000倍。facebook数据中心在过去一年里增长了三分之一还多。
为了适应目前极速飙升的数据量,今年初facebook公司采取积极举措,将不断扩容的Hadoop集群迁移到位于美国俄勒冈州Prineville市一座新建的更大规模的facebook数据中心。据facebook公司介绍,此次facebook史无前例的最大规模的数据迁移行动上个月已经完成。
facebook公司数据基础架构团队的工程师保罗。杨本周在公司的博客上介绍了本次行动的细节。杨表示迁往全新的facebook数据中心是非常有必要的,因为公司已经没有可用的能源和占地空间,无法为Hadoop集群增加新的节点。
不过杨在接受计算机周刊采访时没有说起此事。
facebook公司对Hadoop集群的体验和兴趣正在逐渐浓厚,越来越多的公司开始使用Apache开源软件来捕捉和分析大容量的结构化和非结构化数据。
Hadoop集群的吸引力在于能将非常大型的数据集分解为小规模数据块的能力,之后被分解后的数据块被分配到一系列商用硬件系统中实现更快快速的处理。
本周发布的一份Ventana Research研究报告显示,越来越多的企业用户开始使用Hadoop来收集和分析大容量非结构化和机器生成的信息,诸如日志和事件数据,搜索引擎结果,来自社交网站的文本和多媒体内容等。
facebook公司介绍说,他们使用Hadoop技术来收集和存储其会员每天生成的数百万条的文件内容。使用开源Apache Hive数据中心工具集对这些数据进行分析。
其他使用Hadoop来从事类似工作的超大容量数据型企业还包括易趣,亚马逊和雅虎。雅虎公司是Hadoop代码的主要贡献者。
据2010年3月的博客显示,facebook公司的Hadoop集群成为世界上最大的计算机集群。这个集群由2000台计算机,800台16核系统和1200台8核系统组成。集群中每个系统存储了大概12万亿到24万亿字节的数据。
杨在他的博客中写道,facebook公司制定了一系列将集群迁移到新建数据中心的措施。
公司从物理上将每个节点迁移到新的位置,据杨介绍,这项任务在充足人手的齐心协力下在几天内就完成了。公司决定采用这条路线是为了避免导致出乎意料的长时间宕机。
facebook公司决定构建一座全新的,规模更大的Hadoop集群,将旧集群上的数据简单复制过来。所选择的方法要更加复杂一些是因为facebook公司打算复制的源数据位于实时系统上,这个系统中充满了不断被创建和删除的文件,杨在他的博客中这样写道。
因此facebook公司的工程师们构建了全新的复制系统来应对规模空前的集群规模和数据负载。杨表示“由于复制可以最大化的减少宕机时间,因此我们决定选择这种方式来完成大规模迁移”.
根据杨的介绍,数据复制工程分两步完成。
首先,来自原始Hadoop集群的大部分数据和目录使用名为DistCp的开源工具被分批复制到新的集群上。
批量复制完成后在文件和数据上所发生的所有变化也将使用facebook公司全新研发的文件复制系统被复制到新的集群上。由Hive插件捕捉到的文件更改也在facebook研发人员的研究过程当中。
在转移的过程中,facebook公司会暂时关闭Hadoop集群创建新文件的能力,让其复制系统完成将所有数据复制到新集群上的工作。然后更改其域名服务器设置以便他们能指向新的服务器集群。
根据杨的说法,快速的内部构建数据复制工具是保证迁移工程成功的关键。
除了使用数据迁移外,复制工具被用来为Hadoop集群提供全新的灾难恢复功能。
杨表示“我们认为有效的保留正确复制的大规模活动集群是可能的,只会产生小部分的延迟。通过复制系统,一旦发生紧急情况,整个业务运作使用相对较少的工作就可以被转移到复制集群上去”。