HDFS:不同版本评比分析


1、版本功能对比

版本名称

版本时间

功能名称

说明

0.20.x

2009.4.22-2011.10.17

目前线上基本功能

Avatarnode,cloudera3均以该版本作为基础版本

0.23.x

2011/11/11-现在

Federation

WebHDFS REST API;

HttpFS Gateway

与2.x.x相似,但是没有HA

1.0.x(稳定版本)

2011.12.27-2012.10.12

配额功能(某目录存储文件大小);

Synthetic Load;

权限改进;

WebHDFS REST API;

C API libhdfs;

弃用secondary namenode,引入checkpointnamenode(在snn基础上有改进),backupnode(温备,元数据存储在内存和磁盘);

1.1.x(测试版本)

2012.10.13-现在

同上

 

2.0.x(与cdh4类似)

2012.5.23-现在

HA(NFS,bookKeeper,QJM);Federation;

WebHDFS REST API;

HttpFS Gateway(支持类似curl等shell命令);

RPC可定制(比如thrift,arvo,protocal Buffer);

共享存储edits共享不仅支持NFS,还支持bookkeeper,QJM方式,支持自动,手动切换

注:

1)此处比较apache相关版本;

2)此处没有再列出HDFS基础功能;

2、改造相关版本对比

版本名称

版本功能

说明

Cdh3

目前线上HDFS基本功能

有稳定的hive,hbase与其兼容

Avatarnode

HA;手动切换;snapshot;raid

Facebook内部应该广泛,开源动力不足,开源的HA有不少bug;client端不能做到无缝failover;对zk依赖比较大;

Jhdfs

HA;手动,自动

与hbase,hive等兼容;Client不能完全做到无缝failover;自动切换功能不成熟待升级;

Cdh4

HA;手动,自动;支持nfs,bookkeeper,QJM等方式日志同步;

版本不稳定;有相应的hbase,hive等版本与其兼容;

Apache 2.X

HA;手动,自动;支持nfs,bookkeeper,QJM等方式日志同步;

由cloudera,hortonwork等开源,版本不稳定,有相应的hbase,hive等版本与其兼容;

3、成本优劣对比

版本名称

人力成本

社区

风险

Jhdfs

客户端failover;

升级自动切换功能;

引入federation机制;

日志共享机制多样化;

RPC协议机制

性能优化;

测试;

基于cdh3,与avatarnode改造,社区不活跃

目前几轮测试均通过;生产检验不足

Apache 2.x

需代码深入研究;

测试;

跟踪修改bug;

社区活跃,大量开发者提交代码;发表意见;

代码不成熟; 有相应的hbase,hive等版本与其兼容;

Cdh4

需代码深入研究;

测试;

跟踪修改bug;

社区不活跃;

代码不成熟;有相应的hbase,hive等版本与其兼容;

注:

1)  hbase之前使用的版本与apache2.0不兼容(见下面的jira连接地址),目前cloudera提供了与其相兼容的版本;

2)  hive之前使用的版本与apache2.0兼容;

4、总结

根据各个角度比较的结果,及其我们这边需求,我们将版本选择的关注点集中到jhdfs,apache2.x,cdh4三个版本,具体如下:

1、  jhdfs兼容性没有问题,也完成了初期HA改造并测试通过,但还需要生产检验;基础版本为cdh3;相比cdh4及其apache2.x,还有比较多的新功能需要加入进去;

2、  apache2.x,cdh4与hbase等兼容性均没有问题,相比jhdfs,有比较多的新功能和性能方面的优化,并且3个版本中,apache2.x社区是最活跃的;

5、参考资料

1)QJM设计文档:

https://issues.apache.org/jira/browse/HDFS-3077;

2)snapshot机制:

http://hortonworks.com/blog/snapshots-for-hdfs/;

3)bookkeeper与nfs等性能对比测试:

https://cwiki.apache.org/BOOKKEEPER/hdfs-bookkeeperjournalmanager.html;

4)hadoop版本发布相关信息:

http://hadoop.apache.org/releases.html;

5)hadoop性能测试工具

http://hortonworks.com/blog/delivering-on-hadoop-next-benchmarking-performance/;

6)High AvailabilityFramework for HDFS NN

https://issues.apache.org/jira/browse/HDFS-1623;

7)分布式namenode实现方案

http://yanbohappy.sinaapp.com/?m=201204;

8)Likely hadoop23 vshadoop 20.x/1.x incompatibility

https://issues.apache.org/jira/browse/HBASE-5680;

9)cloudera推出与hadoop 2.0兼容版本

https://ccp.cloudera.com/display/SUPPORT/CDH4+Downloadable+Tarballs;

你可能感兴趣的:(hadoop,HDFS)