写点什么

将 Hadoop 的计算和存储分开能有效的提升性能

  • 2015-12-30
  • 本文字数:1433 字

    阅读完需:约 5 分钟

2015 年,将 Hadoop 的计算和存储分开成为一个重要的 Hadoop 主题。大数据解决方案提供商 BlueData 今年发表过多篇关于这个主题的文章。来自Gartner 的 Merv Adrian 年初也在 Twitter 上表示,该主题已经成为业内的一个主要议题。近日,BlueData 副总裁 Anant Chintamaneni 回顾了他与EMC 大数据解决方案首席技术官 Chris Harrold 就此议题举办的网络研讨会的内容。

从众心理导致人们将雅虎、Facebook 或 LinkedIn 等早期大数据采用者的大数据实现方式视为实现大数据的唯一方式。大数据生态系统使得 Hadoop 成为下述内容的代名词:

  • 一大堆装有 Hadoop 的专用物理服务器;
  • Hadoop 的计算和存储位于相同的硬件机器上;
  • Hadoop 需要使用直连式存储(DAS)

Anant 认为,现在该废弃这些原则了。他给出了一种更好的实现大数据的方式,如下图所示:

新方法的指导思想主要有以下几项内容:

  • Hadoop 可以运行在容器或虚拟机上,即可以使用虚拟机或容器作为Hadoop 节点。这种软件定义的基础设施可以提供干净的环境,保证部署的可预见性,而且交付速度更快,成本更低。在研讨会上,Chris 曾着重说明了 Adobe 的虚拟化 Hadoop 部署。借助虚拟化,他们可以快速增加 Hadoop 的工作节点。另外,所有 Hadoop 供应商提供的“快速入门”选项都是在虚拟机或容器上运行 Hadoop。Netflix 已经基于虚拟化 Hadoop 集群构建出了出色的服务。
  • “数据本地化(data locality)”的概念已过时。数据本地化妨碍了企业采用 Hadoop,因为将 TB 级的数据复制到物理服务器,然后在每次有服务器宕机的时候进行数据平衡 / 再平衡,操作非常复杂,成本非常高昂。集群规模越大,情况越糟。像雅虎这样的互联网巨头之所以会那样做,是受以前的网络带宽所限。而现在,10Gbps 的网络也已很常见。将 Hadoop 的计算和存储分开还可以简化操作,用户可以分别扩展和管理计算和存储系统。另外,还有一个事实,就是在许多常见的 Hadoop 场景中,即使计算和存储在一起,Hadoop 任务也无法受益于数据本地化。
  • HDFS 并不需要本地磁盘,即 Hadoop 不需要本地直连式存储(DAS)。HDFS 更多的是一种分布式文件系统协议,在本地磁盘上运行 HDFS 只是其中的一种实现方式。现如今,许多公司都拥有 TB 级的数据,且数据来源多样(音频、视频、文本等)。这些数据存储在共享的存储系统中,如 EMC Isilon 。BlueData 和 EMC Isilon 提供了 HDFS 接口,允许将共享存储中的数据提供给 Hadoop 计算过程,而不需要复制数据。

Anant 用 BlueData 一个客户的测试数据说明了新方法所带来的性能上的提升。图一是本地虚拟化 Hadoop 集群与物理 Hadoop 集群的对比:

(图一)

可以看出,虚拟化 Hadoop 集群的性能比得上或超过了物理 Hadoop 集群的性能。图二比较了使用共享存储和 DAS 的虚拟化 Hadoop 集群:

(图二)

可以看出,企业级 NFS 的性能要高于基于 DAS 的 HDFS 系统。

最后,Anant 将网络研讨会的共识总结为以下几点:

  • 大数据是一个旅程:基础设施要经得起未来的挑战
  • 计算和存储分开可以为所有的大数据涉众提供更大的灵活性
  • 不要根据“数据本地化”做大数据基础设施的决策

Anant 期待更多的大数据部署使用共享存储,更多的部署使用容器和虚拟机,更多的企业将 Hadoop 的计算和存储分开。


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2015-12-30 18:003382
用户头像

发布了 1008 篇内容, 共 412.0 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

那些你不知道的 CSS 自定义形状网格布局 3

南城FE

CSS 前端 布局

CartoonGAN论文复现:如何将图像动漫化

华为云开发者联盟

人工智能 华为云 12 月 PK 榜

假如问:你是怎样优化Vue项目的,该怎么回答

bb_xiaxia1998

Vue

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

前端工程师leetcode算法面试必备-二叉树的构造和遍历

js2030code

算法 LeetCode

OpenTelemetry系列 (二)|初探OpenTelemetry

骑牛上青山

Java 调用链 OpenTelemetry 微服务调用链

0停机迁移Nacos?Java字节码技术来帮忙

华为云开发者联盟

Java 云计算 华为云 12 月 PK 榜

React组件之间的通信方式总结(上)

beifeng1996

React

记一次Mysql大数据分页优化问题

石臻臻的杂货铺

MySQL 数据库

前端工程师leetcode算法面试必备-二叉树深度广度遍历

js2030code

JavaScript LeetCode

react源码中的协调与调度

flyzz177

React

异构混排在vivo互联网的技术实践

vivo互联网技术

算法 异构 混排

软件质量问题造成损失高达 2.4 万亿美元!

SEAL安全

软件质量 漏洞管理 12 月 PK 榜 软件供应安全

什么是CodeArts

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜 软件开发生产线

运维进阶训练营 -W07H

b1a2e1u1u

运维

从React源码分析看useEffect

flyzz177

React

谈谈前端性能优化-面试版

loveX001

JavaScript

前端二面常考面试题(必备)

loveX001

JavaScript

react面试题合集

beifeng1996

React

React源码分析8-状态更新的优先级机制

flyzz177

React

react源码中的fiber架构

flyzz177

React

【圣诞节】会呼吸的玫瑰爱心代码 -李峋爱心续 动画演示思路 代码开源

非喵鱼

Java Python 程序员 前端 爱心代码

前端面试什么样的回答才能让面试官满意

loveX001

JavaScript

React源码分析7-state计算流程和优先级

flyzz177

React

react源码中的hooks

flyzz177

React

es6中箭头函数解析

达摩

ES6 箭头函数

经常会采坑的javascript原型应试题

loveX001

JavaScript

React组件之间的通信方式总结(下)

beifeng1996

React

前端必会react面试题及答案

beifeng1996

React

设计模式之美——单一职责(Single Responsibility Principle)

GalaxyCreater

设计模式

架构实战营模块二作业

张Dave

将Hadoop的计算和存储分开能有效的提升性能_语言 & 开发_谢丽_InfoQ精选文章