mapr集群

转载:http://baike.baidu.com/view/6905513.htm


2011年6月,在Hadoop 2011峰会上,MapR的创始人M.C. Srivas做了名为《Design, Scale and Performance of MapR's Distribution for Hadoop》的演讲,比较详细的介绍了MapR设计原则,部分实现细节以及MapR的性能,外界也第一次从内部了解MapR Hadoop。   MapR认为,解决Hadoop的种种问题,要采用以下设计思想:   1) 集中式的meta server可扩展性不好,对应的解决方案就是使用分布式的meta server,让每个节点都变成meta server。 但是这里要解决的问题是meta server不能占用太多内存,要留出足够的内存供M/R 应用来使用。   2) 要让每个Datanode上支持的block数量增加,同时减少block-report的大小。   3) 因为内存容量总是有限的,所以要减小查找服务的内存开销。   4) 服务能够快速重启(这样可以更好的实现HA)。   通过上述方式,MapR期望这种设计能极大的提高Hadoop的扩展能力,比如支持的节点数目从当前2000个左右扩展到10000个以上,系统文件容量从10-50PB扩展到1-10EB,文件数量从1.5亿扩展到1万亿(1 trillion)左右。同时,系统还需要支持完全的随机读写以及一系列企业应用特性,比如快照,mirror等等。MapR还期望在性能上有所突破,尽可能的榨取硬件的能力,并能对新的硬件技术(固态硬盘,万兆网卡等)提供支持。

  纵观其实现,整个MapR的核心是其分布式NameNode, 在MapR的设计中,分布式的NameNode又被称作Container,和Hadoop原始设计中的Namenode不一样的是,Container不仅维护了用户文件的meta data,也维护数据块。每个Container的大小在16GB-32GB之间(这也就意味着一个node上会有很多个container),同一个Container在不同node间有replica。对于用户来说,Container的概念过于底层,MapR引入了Volume的概念来降低使用用户门槛和提高系统的灵活性。 MapR Volume的概念和传统存储概念意义上的Volume相当类似,用户不需要直接管理Container,相应的,用户通过管理volumes来管理Container:用户可以为每个Volume指定不同的大小限制,replication level等参数。此外,用户还可以对volume建立snapshot,mirror等。   Container,volume相关的meta data被维护在被称为CLDB中(container location database)。 CLDB是一个集中式的服务,为此,MapR为CLDB设计了 一系列的容错   采用分布式Namenode的一个必然结果就是要处理大量的分布式事务: 用户有可能同时操作两个Container。 针对这种情况, MapR认为传统的两阶段提交和基于Quarum 的协议(例如Paxos)都有局限性,他们提出了新的解决方案: MapR lockless transaction。Srivas的讲座并没有过多讨论MapR lockless transaction的细节,从有限的几张PPT里面,我们还是可以得知一二的:   1) 每个节点都会保存一份WAL。WAL分为两种,OP log和Value log。OP log主要保存对meta data的修改和回滚信息,相应的,Value log主要保存对data block的修改和回滚信息。   2) Log有全局的ID(利用Zookeeper可以很容易的实现这一点),这就使得其可以用来实现分布式事务成为可能。   3) 利用WAL,事务可以快速的回滚(2秒以内)   4) MapR lockless transaction不需要显式的提交(即默认事务会成功执行)   5) Replica会进行监测是否存在冲突,如果有冲突,则回滚事务。如果没有,则confirm事务。   MapR声称这种实现方式有很高的吞吐率,而且事务进行过程中不需要锁, 而且因为WAL的存在,如果事务进行过程中出现程序崩溃也无所谓。实际上,MapR lockless transaction的实现是仔细分析了MapR 分布式事务的特点以后的一种设计折中: 作为大数据分析平台,Hadoop要处理的数据集并往往是只读或者读多写少(当前版本的Hadoop HDFS实际上是只读的),分布式事务存在冲突的几率比较小,就是说,代价很大的回滚操作执行的几率很小,在这种情况下,放弃开销很大的锁机制是划算的。   除了分布式Namenode这个大亮点之外,MapR还实现了一系列高级特性,对原来Hadoop的功能进行了大幅度的增强。这其中最吸引眼球的有两点:   1) Direct Access NFS技术。顾名思义,用户可以直接在远程通过NFS 客户端把MapR HDFS装载到其本地,像操作本地文件一样来进行操作。这个特性在Hadoop峰会上引起了广泛关注,讲座结束后相当一部分问题都集中于此。比如,支持符号链接么(答案:支持)? 支持O_DIRECT访问么(答案:O_DIRECT是相对本地文件系统而言的,对于NFS,O_DIRECT不是太有意义)? 同时Direct Access NFS支持文件的随机读写(原始Hadoop的文件系统可以被认为是只读的),大大的扩展了MapR Hadoop的应用范围。   2) Snapshot,Mirror等企业应用特性。Snapshot(快照),Mirror(镜像)等企业应用特性是是企业IT管理人员必不可少的工具,是处理复杂需求的得力助手。通过支持Volume,MapR Hadoop方便的支持了这些功能,使得Hadoop不再只是开发人员的专宠,数据科学家,IT管理人员也能够方便的访问Hadoop这个功能强大的大数据分析平台。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值