目前我搭建的大数据集群的hadoop主要版本为2.6.0,版本日期为2014.11.18。为了适应大数据的不断发展和更新换代,特此分享hadoop主要版本信息,为版本升级做准备。
原始版本:2.6.0
版本日期:2014.11.18
第三方版本信息:HDP2.2.6
目标版本:3.0.0
版本日期:2017.12.13
第三方版本信息:CDH6.0.1
涉及中间版本:2.7.0|3.0.0 alpha1|3.0.0 alpha2|3.0.0 alpha4|3.0.0 beta1
- HDP2.2.6版本信息
1.1 不支持的特性
HDFS
HDFS Transparent Data at Rest Encryption
NameNode Federation (HDFS-1052)
viewFS (HADOOP-7257)
block-volume device choosing (HDFS-1804)
Disable File channel dual checkpointing on Windows (FLUME-2224)
Disable Morphline Sink and Kite Dataset sinks on Windows Builds (FLUME-2467)
YARN
YARN support for Docker
Fair Scheduler
MapReduce Uber AM
MapReduce Eclipse Plug-in
1.2 Patch信息
https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.2.6/bk_HDP_RelNotes/content/hadoop-common-226.html
1.3 已修复issues
https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.2.6/bk_HDP_RelNotes/content/fixed-226.html
1.4 已知issues
https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.2.6/bk_HDP_RelNotes/content/known-issues-226.html
- 2.7.0重大加强
不再支持JDK6,只支持JDK7+
2.1 Hadoop Common
HADOOP-9629 - Support Windows Azure Storage - Blob as a file system in Hadoop.
支持windows azure存储—Blob作为文件系统
2.2 Hadoop HDFS
HDFS-3107 - Support for file truncate
支持文件truncate
HDFS-7584 - Support for quotas per storage type
支持对每种存储类型配额
HDFS-3689 - Support for files with variable-length blocks
2.3 Hadoop YARN
YARN-3100 - Make YARN authorization pluggable
Yarn可插拔授权
YARN-1492 - Automatic shared, global caching of YARN localized resources (beta)
2.4 Hadoop MapReduce
MAPREDUCE-5583 - Ability to limit running Map/Reduce tasks of a job
能够限制运行MR任务
MAPREDUCE-4815 - Speed up FileOutputCommitter for very large jobs with many output files.
为特大job提速FOPC
- 3.0.0重大加强
alpha和beta版这里不进行详述
3.1 JAVA版本要求
JAVA最低支持版本由JAVA 7升级到JAVA 8
3.2 HDFS支持纠删码(erasure coding)
纠删码是一种比副本存储更节省存储空间的数据持久化存储方法。比如Reed-Solomon(10,4)标准编码技术只需要1.4倍的空间开销,而标准的HDFS副本技术则需要3倍的空间开销。由于纠删码额外开销主要在于重建和远程读写,它通常用来存储不经常使用的数据(冷数据)。另外,在使用这个新特性时,用户还需要考虑网络和CPU开销。
3.3 YARN时间线服务 v.2(YARN Timeline Service v.2)
YARN Timeline Service v.2用来应对两个主要挑战:(1)提高时间线服务的可扩展性、可靠性,(2)通过引入流(flow)和聚合(aggregation)来增强可用性。为了替代Timeline Service v.1.x,YARN Timeline Service v.2 alpha 2被提出来,这样用户和开发者就可以进行测试,并提供反馈和建议,不过YARN Timeline Service v.2还只能用在测试容器中。
3.4 重写Shell脚本
Hadoop Shell脚本已经被重写,用来修复已知的BUG,解决兼容性问题和一些现有安装的更改。它还包含了一些新的特性,内容如下所示:
3.4.1 所有Hadoop Shell脚本子系统现在都会执行hadoop-env.sh这个脚本,它允许所有环节变量位于一个位置;
3.4.2 守护进程已通过*-daemon.sh选项从*-daemon.sh移动到了bin命令中,在Hadoop3中,我们可以简单的使用守护进程来启动、停止对应的Hadoop系统进程;
3.4.3 触发SSH连接操作现在可以在安装时使用PDSH;
3.4.4 ${HADOOP_CONF_DIR}现在可以任意配置到任何地方;
3.4.5 脚本现在测试并报告守护进程启动时日志和进程ID的各种状态;
3.5 覆盖客户端的jar(Shaded client jars)
在2.x版本中,hadoop-client Maven artifact配置将会拉取hadoop的传递依赖到hadoop应用程序的环境变量,这回带来传递依赖的版本和应用程序的版本相冲突的问题。
HADOOP-11804 添加新 hadoop-client-api和hadoop-client-runtime artifcat,将hadoop的依赖隔离在一个单一Jar包中,也就避免hadoop依赖渗透到应用程序的类路径中。
3.6 支持Opportunistic Containers和Distributed Scheduling
ExecutionType概念被引入,这样一来,应用能够通过Opportu