一个Hadoop老兵的自白

2015 年 11 月 26 日

Apache Hadoop 是一个免费软件,但实际上,除非是拥有庞大工程师团队的大公司,否则最好不要去创建仅供内部使用的 Hadoop 版本,因为如果要购买技术支持,那 Hadoop 就不是免费的了。 Jim Scott MapR 企业战略 & 架构部门的负责人。2009 年,他接触了自己的第一个 Hadoop 版本 Cloudera 。他发现,Apache Hadoop 平台存在一些固有的设计缺陷。近日,他从以下几个方面分析了这些缺陷,并介绍了 MapR 的解决方案

Append-only 文件访问方式

HDFS 的 Append-only 文件访问方式是一个巨大的障碍,导致下游项目不得不解决这个问题。例如, HBase 就实现了“墓碑化(Tombstoning)”和“合并(Compactions)”功能。但是,如果这些动作发生在负载高峰期,会严重影响生产系统的性能。MapR 通过创建 MapR-DB 解决了该问题。MapR-DB 模仿了谷歌的 BigTable ,支持 HBase API,是一个零管理实时数据库。

系统集成

HDFS 不兼容 POSIX NFS 。要查看 HDFS 中的文件,只能通过 HDFS 命令行接口来查询。 MapR-FS 是一个操作系统级的文件系统,兼容 POSIX。查看该分布式文件系统中的文件,只需要使用 LS 命令。编辑其中的文件,也不需要专门的工具。Linux 中任何可以读写 NFS 系统的应用程序都可以读写 MapR-FS。

备份 & 恢复

Apache Hadoop 在灾难恢复和备份方面存在严重不足。Hadoop 的数据复制可以有效应对磁盘故障,但对数据损坏和人为错误无能为力。谨慎起见,在向生产环境部署新软件之前,需要生成一个数据快照。但是,Apache Hadoop 的快照只是一个元数据副本。而 MapR 快照则近乎是数据的瞬时拷贝,即使文件正在被写入也可以生成。并且,用户还可以生成 MapR-DB 表的快照。

维护 & 升级

任何优秀的企业应用程序都离不开维护、管理和升级,Hadoop 也不例外。但 Hadoop 的升级维护可能会非常麻烦。MapR 每次发布都会针对许多开源软件项目的多个版本进行测试。它是唯一一个支持在同一个集群上运行软件的不同版本的 Hadoop 版本。

开源软件选择

在使用 Hadoop 的时候,相关开源软件的选择是个难题。MapR 支持开放式 API,提供了一个无偏见的 Hadoop 开源软件集合,使用户能够选择自己需要的开源项目

此外,Jim 还提到,NameNode 是个单点故障点。感兴趣的读者可以进一步阅读

对 MapR 感兴趣的读者,可以下载 MapR M3 社区版本,免费体验 MapR 的


感谢魏星对本文的审校。

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

2015 年 11 月 26 日 18:00 6379
用户头像

发布了 235 篇内容,共 3015549 次阅读,收获喜欢 269 次。

关注

评论

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

从一盏路灯,看亿万级联接的智能之路

华为云开发者社区

人工智能 物联网 智能设备 华为云

Spring循环依赖及解决方式

张sir

Java spring 循环依赖

MySQL性能优化(四):如何高效正确的使用索引

xcbeyond

MySQL 索引 MySQL性能优化

SaaS是「包治百病」的良药吗?

ToB行业头条

再强调一遍, 我为什么不建议大家接外包干私活?

非著名程序员

程序员 外包 提升认知 程序员成长 接私活

天元MegEngine深度学习框架贡献者计划全面启动!

flashrunrun

人工智能 AI 开源项目 深度学习框架

HashMap学习总结

大刘

hashmap hash

MySQL性能优化(六):常见优化SQL的技巧

xcbeyond

MySQL MySQL性能优化 SQL优化 优化技巧

MySQL性能优化(七):MySQL执行计划,真的很重要,来一起学习吧

xcbeyond

MySQL MySQL性能优化 执行计划

开源数据交换(client)

李孟

Java 大数据 flink spark 数据交换

路过,凌晨2点的南京

小天同学

总结 思考 个人感悟 夜归人

未来的智慧城市:未来的城市生活愿景

网站,小程序,APP开发定制

案例解析丨金蝶K/3 Wise接入华为云RDS数据库SQL Server

华为云开发者社区

MySQL 数据库 Serverless 数据 华为云

你与30W奖金只差一个 Apache Flink 极客挑战赛的报名

Apache Flink

flink

没错,用三方 Github 做授权登录就是这么简单!(OAuth2.0实战)

程序员内点事

GitHub oauth2.0 java;

为什么我们应该使用 Flutter?

环信

flutter

静态代码检查完成代码分析和SonarQuber的初探

陈磊@Criss

腾讯的区块链为何败给了老干妈的“萝卜章”?

ToB行业头条

MySQL性能优化(五):为什么查询速度这么慢

xcbeyond

MySQL 查询优化 MySQL性能优化

课程总结

Thrine

JDK1.8新特性(一):JDK1.8究竟有哪些新特性呢

xcbeyond

jdk8 新特性

博睿宏远获颁“2020开发与技术企业服务奖”

BonreeAPM

运维自动化 开发工具 博睿宏远

啃碎并发(11):内存模型之重排序

猿灯塔

海南七星彩网站源码结算功能开发

网站,小程序,APP开发定制

面试官:如何决定使用 HashMap 还是 TreeMap?

爱嘤嘤嘤斯坦

Java 算法 hashmap

MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列)

海星

Java MySQL 面试

分布式存储系统doris

Thrine

如何在 3 个小时内完成一周的工作

escray

指数 | 2020年6月北京BGP机房网络质量评测报告

BonreeAPM

评测 博睿宏远 指数

MySQL 连接查询超全详解

X先生

MySQL 数据库

现在微服务这么火,你还不了解吗?阿里P8推荐的微服务学习指南

互联网架构师小马

Docker 微服务 Spring Cloud Spring Boot dubbo

一个Hadoop老兵的自白-InfoQ