AICon全球人工智能与机器学习技术大会8折特惠,购票立减¥960! 了解详情
写点什么

Nikita Ivanov 谈 GridGain 的 Hadoop 内存片内加速技术

2014 年 10 月 15 日

GridGain 最近在 2014 年的 Spark 峰会上发布 Hadoop 内存片内加速技术,可以为 Hadoop 应用带来内存片内计算的相关收益。

该技术包括两个单元:和 Hadoop HDFS 兼容的内存片内文件系统,以及为内存片内处理而优化的 MapReduce 实现。这两个单元对基于磁盘的 HDFS 和传统的 MapReduce 进行了扩展,为大数据处理情况提供了更好的性能。

内存片内加速技术消除了在传统 Hadoop 架构模型中与作业追踪者(job tracker)、任务追踪者(task tracker)相关的系统开销,它可以和现有的 MapReduce 应用一起工作而无需改动任何原有的 MapReduce、HDFS 和 YARN 环境的代码。

下面是 InfoQ 对 GridGain 的 CTO Nikita Ivanov 关于 Hadoop 内存片内加速技术和架构细节的访谈。

InfoQ: Hadoop内存片内加速技术的关键特性在于 GridGain 的内存片内文件系统和内存片内MapReduce,你能描述一下这两个组件是如何协同工作的吗?

Nikita:GridGain 的 Hadoop 内存片内加速技术是一种免费、开源和即插即用的解决方案,它提升了传统 MapReduce 工作(MapReduce jobs)的速度,你只需用 10 分钟进行下载和安装,就可以得到十几倍的性能提升,并且不需要对代码做任何改动。该产品是业界第一个基于双模、高性能内存片内文件系统,以及为内存片内处理而优化的 MapReduce 实现方案,这个文件系统和 Hadoop 的 HDFS 百分百的兼容。内存片内 HDFS 和内存片内 MapReduce 以易用的方式对基于磁盘的 HDFS 和传统的 MapReduce 进行了扩展,以带来显著的性能提升。

简要地说,GridGain 的内存片内文件系统 GGFS 提供了一个高性能、分布式并与 HDFS 兼容的内存片内计算平台,并在此进行数据的存储,这样我们基于 YARN 的 MapReduce 实现就可以在数据存储这块利用 GGFS 做针对性的优化。这两个组件都是必需的,这样才能达到十几倍的性能提升(在一些边界情况下可以更高)。

InfoQ: 如何对这两种组合做一下比较,一种是内存片内 HDFS 和内存片内 MapReduce 的组合,另一种是基于磁盘的 HDFS 和传统的 MapReduce 的组合?

Nikita:GridGain 的内存片内方案和传统的 HDFS/MapReduce 方案最大的不同在于:

  1. 在 GridGain 的内存片内计算平台里,数据是以分布式的方式存储在内存中。
  2. GridGain 的 MapReduce 实现是从底层向上优化,以充分利用数据存储在内存中这一优势,同时改善了 Hadoop 之前架构中的一些缺陷。在 GridGain 的 MapReduce 实现中,执行路径是从客户端应用的工作提交者(job submitter)直接到数据节点,然后完成进程内(in-process)的数据处理,数据处理是基于数据节点中的内存片内数据分区,这样就绕过了传统实现中的作业跟踪者(job tracker)、任务跟踪者(task tracker)和名字节点(name nodes)这些单元,也避免了相关的延迟。

相比而言,传统的 MapReduce 实现中,数据是存储在低速的磁盘上,而 MapReduce 实现也是基于此而做优化的。

InfoQ:你能描述一下这个在 Hadoop 内存片内加速技术背后的双模、高性能的内存片内文件系统是如何工作的?它与传统的文件系统又有何不同呢?

Nikita:GridGain 的内存片内文件系统 GGFS 支持两种模式,一种模式是作为独立的 Hadoop 簇的主文件系统,另一种模式是和 HDFS 进行串联,此时 GGFS 作为主文件系统 HDFS 的智能缓存层。

作为缓存层,GGFS 可以提供直接读和直接写的逻辑,这些逻辑是高度可调节的,并且用户也可以自由地选择哪些文件和目录要被缓存以及如何缓存。这两种情况下,GGFS 可以作为对传统 HDFS 的嵌入式替代方案,或者是一种扩展,而这都会立刻带来性能的提升。

InfoQ:如何比较 GridGain 的内存片内 MapReduce 方案和其它的一些实时流解决方案,比如 Storm 或者 Apache Spark?

Nikita:最本质的差别在于 GridGain 的内存片内加速技术支持即插即用这一特性。不同于 Storm 或者 Spark(顺便说一下,两者都是伟大的项目),它们需要对你原有的 Hadoop MapReduce 代码进行完全的推倒重来,而 GridGain 不需要修改一行代码,就能得到相同甚至更高的性能优势。

InfoQ:什么情况下需要使用 Hadoop 内存片内加速技术呢?

Nikita:实际上当你听到“实时分析”这个词时,也就听到了 Hadoop 内存片内加速技术的新用例。如你所知,在传统的 Hadoop 中并没有实时的东西。我们在新兴的 HTAP (hybrid transactional and analytical processing) 中正看到一些这样的用例,比如欺诈保护,游戏中分析,算法交易,投资组合分析和优化等等。

InfoQ:你能谈谈 GridGain 的 Visor 和基于图形界面的文件系统分析工具吗,以及他们如何帮助监视和管理 Hadoop 工作(Hadoop jobs)的?

Nikita:GridGain 的 Hadoop 内存片内加速是和 GridGain 的 Visor 合在一起的,Visor 是一种对 GridGain 产品进行管理和监视的方案。Visor 提供了对 Hadoop 内存片内加速技术的直接支持,它为 HDFS 兼容的文件系统提供了精细的文件管理器和 HDFS 分析工具,通过它你可以看到并分析和 HDFS 相关的各种实时性能信息。

InfoQ:后面的产品路标是怎么样的呢?

Nikita:我们会持续投资(同我们的开源社区一起)来为 Hadoop 相关产品技术,包括 Hive、Pig 和 Hbase,提供性能提升方案。

Taneja Group 也有相关报道( Memory is the Hidden Secret to Success with Big Data , 下载全部报告需要先注册),讨论了 GridGain 如何把 Hadoop 内存片内加速技术和已有的 Hadoop 簇、传统基于磁盘的有缺陷的数据库系统以及面向批处理的 MapReduce 技术进行集成。

关于被访问者

Nikita Ivanov是 GridGain 系统公司的发起人和 CTO,GridGain 成立于 2007 年,投资者包括 RTP Ventures 和 Almaz Capital。Nikita 领导 GridGain 开发了领先的分布式内存片内数据处理技术 - 领先的 Java 内存片内计算平台,今天在全世界每 10 秒它就会启动运行一次。Nikita 有超过 20 年的软件应用开发经验,创建了 HPC 和中间件平台,并在一些创业公司和知名企业都做出过贡献,包括 Adaptec, Visa 和 BEA Systems。Nikita 也是使用 Java 技术作为服务器端开发应用的先驱者,1996 年他在为欧洲大型系统做集成工作时他就进行了相关实践。

查看参考原文: Nikita Ivanov on GridGain’s In-Memory Accelerator for Hadoop


感谢侯伯薇对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014 年 10 月 15 日 03:461438

评论

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

GitHub已爆火的Java突击手册,全面详细对标P7岗!真的很全面

比伯

Java 编程 架构 程序人生 计算机

吃透Nginx编译安装过程

书旅

nginx Nginx PHP-FPM

计算机原理学习笔记 Day2

穿过生命散发芬芳

计算机原理 4月日更

继续探究:一文理清JVM和GC(下)

比伯

Java 架构 程序人生 计算机 技术宅

Python OpenCV 图片高斯模糊

梦想橡皮擦

Python OpenCV 4月日更

再谈日更公众号

彭宏豪95

写作 感悟 微信公众号 4月日更

安卓开发基础面试题,分享一点面试小经验,含BATJM大厂

欢喜学安卓

android 程序员 面试 移动开发

翻译:《实用的Python编程》08_03_Debugging

codists

Python

Docker 环境清理的常用方法

xcbeyond

Docker 4月日更

「架构师训练营 4 期」大作业一&二

凯迪

架构师训练营 4 期

架构实战营 - 模块 2- 作业

泄矢的呼啦圈

架构实战营

手撕83K STAR的Axios设计思想,并进行能力增强

梁龙先森

源码分析 前端进阶 axios

安卓开发实战讲解!从新手到Flutter架构师,一篇就够!快来收藏!

欢喜学安卓

android 程序员 面试 移动开发

Dubbo 学习笔记(二) Spring Boot 整合 Dubbo

U+2647

Spring Boot dubbo 四月日更

Nginx新增模块more_clear_headers问题记录

风翱

nginx 4月日更

Markdown使用语法

Geek_6370d5

markdown语法

构建WebRTC音视频系统处理结构

正向成长

音视频 WebRTC

关于列表转字符串这个过程的曲折

ベ布小禅

四月日更

taskwarrior ,一款提升效率的命令行的 TODO list 工具

Red

效率工具 TODO linux操作

M2-task

Focused

Vuex整洁架构之道

devpoint

vuex vue架构 mapGetters mapState mapActions

华仔架构实战营 - 作业 - 模块2

曲元洪

架构实战营

并发容器与并发控制 - JUC

学Java关注我

Java 编程 程序员 架构 计算机

算法训练营 - 学习笔记 - 第二周

心在飞

自定义Hadoop的输入格式

小舰

4月日更

ARTS - week 6

steve_lee

hive的数据存储格式

大数据技术指南

hive 4月日更

PI的一种简写。

山@支

源码系列 | 阿里JVM-Sandbox核心源码剖析

九叔

JVM 中间件 类加载 Sandbox 类隔离

ARTS - week 5

steve_lee

HBase的rowKey设计技巧

五分钟学大数据

HBase 4月日更

Nikita Ivanov谈GridGain的Hadoop内存片内加速技术-InfoQ