运行于云端的Hadoop——数据即服务的论证

导语

就像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级别的海量数据的迁移也存在着高成本和迁移过程繁杂的问题,这使得他们选择在公共云服务中部署他们的大数据业务较为谨慎。但对于这类客户,可以通过提供客制化的解决方案和保姆化的服务来提高数据和业务的安全性,并最大限度地减少数据迁移的工作量。

将大数据业务部署在云端与其说是个技术问题,不如说是关于多因素权衡的事情(如安全、性能和成本)。是否部署在裸机上还是使用容器,在公有云还是在机房内,都有许多的要求和选项需要考虑。但至少,在要进行部署的时候,我们多了一个选项。

原文发布于微信公众号 - CSDN技术头条(CSDN_Tech)

原文发表时间:2016-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

云中巨象——作为一种服务的Hadoop

Ashish Thusoo, Qubole的CEO和联合创始人,最近在 Enterprise Data World Conference (EDW)上谈到了作为...

35660
来自专栏Java大联盟

Java进阶之路——从初级程序员到高薪架构师

要记住公司招人是解决问题的,基于现有问题出发,大家一般心里会有一个大致的解决方案,而这个解决方案通常是由若干种技术组合而成。

22820
来自专栏企鹅号快讯

只看Java视频资料能成为Java程序员吗

目前国内从事软件开发,Java的占比是越来越高,不说别的在培训视频的绝对量上,Java几乎占据了半壁江山,很多刚接触Java的同学直接从网上搜到一些教程视频,然...

23870
来自专栏程序人生 阅读快乐

OReilly Mining the Social Web 2nd Edition Oct(社交网站数据挖掘 英文版)

社交网站数据如同深埋地下的“金矿”,如何利用这些数据来发现哪些人正通过社交媒介进行联系?他们正在谈论什么?或者他们在哪儿?本书第2版对上一版内容进行了全面更新和...

10720
来自专栏云计算D1net

云端新感受背后 盘点云服务那些关键技术

1 概述、虚拟化技术 【PConline 杂谈】云计算技术说新其实也不新了,伴随着近几年云计算技术的不断成熟和快速发展,已经在很多行业当中都能够看到云计算带来的...

38070
来自专栏星流全栈

技术的执念

12040
来自专栏CSDN技术头条

【BDTC 2015】大数据基础设施分论坛:解读大数据系统、平台与基准测试标准

2015年12月10-12日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所、北京中科天玑科技有限公司与CSDN共同协办,...

26980
来自专栏Java架构

分享我如何在7年时间里成长为阿里Java架构师

总的来说,架构师和程序员在某些方面上有点像产品经理和用户的关系,大部分程序员并不会主动告诉你他们想要什么、哪里需要优化,甚至自己也不知道这些。想要做出好的产品,...

9620
来自专栏北京马哥教育

我们学Python时我们在学什么,不看亏大了

本文转载自简书,作者为向右奔跑,感谢作者的贡献。 ---- 虽然有时觉得Python简单得不像编程语言,知乎上也有人说,“requests 好用的让人想哭”。但...

40890
来自专栏程序员互动联盟

如何用四个月搞定java?

目前国内从事软件开发的,java的占比是越来越高,不说别的在培训视频的绝对量上,java几乎占据了半壁江山,很多小伙伴直接从网上搜到一些视频,然后制定好计划开始...

38850

扫码关注云+社区

领取腾讯云代金券