写点什么

一个 Hadoop 老兵的自白

  • 2015-11-26
  • 本文字数:1078 字

    阅读完需:约 4 分钟

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:007539
用户头像

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

关注

评论

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

李宏毅《机器学习》P1-P2 学习笔记

Clarke

Beautiful Soup库的介绍

芯动大师

Python BeautifulSoup 10月月更

数据库自动化运维实践

穿过生命散发芬芳

数据库运维 10月月更

IDEA的Docker插件实战(Docker-compose篇)

程序员欣宸

Docker Docker-compose 10月月更

Python进阶(十)Python 编程规范

No Silver Bullet

Python 编程规范 10月月更

LinkedList源码分析(四)

知识浅谈

linkedlist 10月月更

详解CAN总线:CAN总线报文格式—帧间隔

不脱发的程序猿

汽车电子 CAN总线报文格式 详解CAN总线 CAN帧间隔

网络安全【漏洞安全】反序列化漏洞深入分析

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

2022-10-10:以下go语言代码输出什么?A:[1 2 3 0 1 2];B:死循环;C:[1 2 3 1 2 3];D:[1 2 3]。 package main import “fmt“

福大大架构师每日一题

golang 福大大 选择题

Web前端 | HTML5学习

亮点

html web前端 10月月更

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

loveX001

JavaScript

强大的爬虫框架 Scrapy

芯动大师

Scrapy scrapy框架 10月月更

大数据ELK(二十一):Logstash简介和安装

Lansonli

Logstash 10月月更

requests的介绍

芯动大师

Python requests 10月月更

研发效能领域的“百科全书”重磅来袭!

博文视点Broadview

cstdio的源码学习分析08-设置文件流buffer函数setbuf

桑榆

源码刨析 10月月更 C++

详解CAN总线:CAN总线报文格式—过载帧

不脱发的程序猿

汽车电子 CAN总线报文格式 详解CAN总线 CAN过载帧

数据结构学习,栈篇(链式栈)

IC00

读书笔记 数据结构 算法 10月月更

Java 泛型

Yeats_Liao

后端 Java后端 Java core 10月月更

字符串拆分----split()关键字

魏铁锤

10月月更

践行ESG理念,缘何成为消费金融行业共识?

易观分析

金融 ESG

年底前端面试题总结(上)

loveX001

JavaScript

vivo互联网机器学习平台的建设与实践

vivo互联网技术

人工智能 机器学习 推荐系统

Qt | 深入了解Qt的委托类

YOLO.

qt 10月月更 C++

一文搞懂CAN总线协议帧格式

不脱发的程序猿

汽车电子 CAN总线 CAN总线协议帧格式

Spring之DI依赖注入

楠羽

笔记 spring】 10月月更

Spring JPA 如何进行无参数查询布尔类型

HoneyMoose

AndroidStudio最新版(2021.1.21)编译C++代码生成so文件

中国好公民st

c++ Android; 10月月更

Spring Boot「02」日志配置

Samson

Java spring 学习笔记 spring-boot 10月月更

数据中台与业务中台的区别与联系

阿泽🧸

业务中台 10月月更

SeaTunnel连接器V1到V2的架构演进与探究

Apache SeaTunnel

API 数据集成 连接器 Apache SeaTunnel 数据集成平台

一个Hadoop老兵的自白_语言 & 开发_谢丽_InfoQ精选文章