原文地址: Hadoop in the cloud
作者:托马斯·费伦、乔尔·巴斯特
翻译:杨小虎 张洁 王晨
导语
就像Docker是容器的代名词一样,Hadoop [hædu:p]也是大数据的代名词,作为云计算所青睐的一种分布式架构,这只黄色的小象也和那只蓝色的鲸鱼一样被越来越多的人所熟知。Hadoop这个名字不是一个缩写,而是一个虚构的名字。该项目的创建者,DougCutting解释Hadoop的得名 :“这个名字是我孩子给一个棕黄色的大象玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子恰恰是这方面的高手。”
Hadoop以及其它大数据应用框架,例如Spark,是围绕以下的理论来设计和建立的:分布式并行计算技术和存储穿过网络行程的最小化是在海量数据情况下,能获得最佳数据查询和处理性能的关键因素。这一理论约束了大数据基础设施的结构和部署。自从Hadoop诞生以来,它就认为要发挥该框架性能,就必须采用将存储和计算进行托管(co-location)的架构。
编者按:
Hadoop以及其它大数据应用框架,例如Spark。是围绕以下的理论来设计和建立的:分布式并行计算技术、存储穿过网络行程的最小化是在海量数据情况下,能获得最佳数据查询和处理性能的关键因素。这一理论约束了大数据基础设施的结构和部署。自从Hadoop诞生以来,它就认为要发挥该框架性能,就必须采用将存储和计算进行托管(co-location)的架构。
将Hadoop运行在云端?
以上的理论诉求似乎表明,基于云的基础设施是不适合运行Hadoop这类分布式计算平台的。大部分早期的Hadoop分布式计算平台都是运行于有直连存储的裸机服务器上。这是传统的部署模式,它体现了Hadoop自身的很多优势。
而云计算意味着基础设施资源的共享,基于云计算的基础设施通过资源池来提供弹性服务。云环境中计算和存储资源之间的物理距离可能会很大或者是未知的。将存储和计算强制托管并使基于云的部署在物理机上一样看起来像是可能的,但这将增加额外的成本且会损失一定的灵活性。
那么,在云端中运行一个高性能的大数据架构(如Hadoop和Spark)到底是否可行呢?简单来说,可能的。
许多研究(例如微软对于平面数据中心存储的研究,或者来自facebook数据中心的日志的分析)现在正挑战着这一传统观念,表示Hadoop以往的计算和存储托管(co-location)架构对于有分布式应用程序的高性能不是必须的。
大数据即服务案例
近几年,将Hadoop部署于云端已经变得很可靠。许多服务提供者已经推出了Hadoop-as-a-Service, Spark-as-a-Service以及其他类似的云服务。一类新的大数据即服务(Big-Data as a Service)解决方案已经出现了。这些解决方案的大部分都被用于机房以外的公共云服务,现在也有Big-Data as a Service可用于机房内的部署。
在过去的几年中,我们看到了一些变化,一些开发者在云端中开发、测试和部署大数据应用。这可以降低前期的一次性硬件投入,并保证整个开发过程的弹性,灵活性和敏捷性。另外,大数据应用和工具似乎每天都在改变,基于云的部署有助于减少这些最新技术时的挑战和复杂度。
然而,这避免不了云自身的一些问题,例如:
对Big-Data-as-Service的评价
在云端部署大数据服务而带来的系统可靠性上的风险已经不再是用户最关心的事。可靠性曾经是云环境中一个重要的考虑,但它如今已不是一个重要的问题。结合成本来考虑,基于云的部署至少与现场的裸机部署是一样可靠的。
所以,在云端部署大数据架构,只剩下两个问题:计算存储性能问题和数据安全性问题。
从历史上来看,虚拟化占用了一部分CPU的性能,以获得灵活性和可扩展性。但随着新的虚拟化技术的出现,例如容器技术,使得这种计算的负载已基本消除。CPU性能不再是采用大数据即服务的瓶颈——无论是在公有云还是本地机房内。
至于存储访问,更快的网络接入速度、新存储技术(如固态硬盘SSDs)以及对象存储这样的技术的引入使的我们可以重新评估Hadoop以往的计算和存储托管(co-location)架构。
Big-Data-as-Service中,数据安全的挑战也正在被解决。公有云提供的数据安全的等级因服务提供者的不同而不同,但是通常他们都在不断地改进。一些客户确实有数据和业务管理、隐私或操作权限的诸多要求,对于PE级别的海量数据的迁移也存在着高成本和迁移过程繁杂的问题,这使得他们选择在公共云服务中部署他们的大数据业务较为谨慎。但对于这类客户,可以通过提供客制化的解决方案和保姆化的服务来提高数据和业务的安全性,并最大限度地减少数据迁移的工作量。
将大数据业务部署在云端与其说是个技术问题,不如说是关于多因素权衡的事情(如安全、性能和成本)。是否部署在裸机上还是使用容器,在公有云还是在机房内,都有许多的要求和选项需要考虑。但至少,在要进行部署的时候,我们多了一个选项。
本文来自英方云独家供稿。