版本名称 |
版本时间 |
功能名称 |
说明 |
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基础功能;
版本名称 |
版本功能 |
说明 |
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等版本与其兼容; |
版本名称 |
人力成本 |
社区 |
风险 |
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兼容;
根据各个角度比较的结果,及其我们这边需求,我们将版本选择的关注点集中到jhdfs,apache2.x,cdh4三个版本,具体如下:
1、 jhdfs兼容性没有问题,也完成了初期HA改造并测试通过,但还需要生产检验;基础版本为cdh3;相比cdh4及其apache2.x,还有比较多的新功能需要加入进去;
2、 apache2.x,cdh4与hbase等兼容性均没有问题,相比jhdfs,有比较多的新功能和性能方面的优化,并且3个版本中,apache2.x社区是最活跃的;
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;