内容提要
Hadoop 3.4.1相较于3.3.1版本,主要改进包括AWS SDK升级、ABFS增强、HDFS新特性及YARN改进,同时更新了安全性和依赖版本,移除了多个功能。升级时需注意依赖兼容性,特别是Protocol Buffers的重大变化。
关键要点
-
Hadoop 3.4.1相较于3.3.1版本,主要改进包括AWS SDK升级、ABFS增强、HDFS新特性及YARN改进。
-
AWS SDK版本从V1升级到V2,S3 Select支持已移除,新增fs.s3a.classloader.isolation选项。
-
ABFS增强,HTTP客户端支持Apache HttpClient,Manifest Committer默认提交器。
-
HDFS新特性包括动态重配置DataNode参数和细粒度锁机制。
-
YARN改进包括动态队列ACL处理和调度器优化。
-
安全性和依赖版本更新,修复多个CVE漏洞。
-
移除了hadoop-openstack模块、HTrace追踪和S3 Select等功能。
-
Protocol Buffers版本从2.5升级到3.23,存在不兼容问题,需统一升级。
-
Log4j版本从1.x迁移到reload4j,需验证配置。
-
Jackson 1.x完全移除,统一使用Jackson 2.12.7,需检查第三方依赖。
-
Netty版本从3.x/4.0.x升级到4.1.77,需修改包名和API调用。
-
Bouncy Castle版本升级至1.77,需检查安全提供者配置。
-
snappy-java版本从1.1.7.x升级到1.1.8.2,内置原生库,简化跨平台支持。
-
迁移建议包括检查依赖兼容性、更新Maven依赖和验证功能。
延伸解读
升级前的准备工作
在从Hadoop 3.3.1升级到3.4.1之前,用户需要仔细检查依赖的兼容性,尤其是Protocol Buffers的重大变化。由于Protocol Buffers的版本升级导致不兼容,所有依赖Hadoop RPC通信的组件必须统一升级,避免混合版本运行带来的问题。
安全性与依赖更新
Hadoop 3.4.1在安全性方面进行了多项修复,更新了多个依赖版本,包括Log4j和Jackson。用户在升级时需验证这些依赖的配置,确保不再使用已移除的版本,特别是Jackson 1.x的完全移除,可能影响到JSON处理的功能。
功能移除的影响
Hadoop 3.4.1移除了多个功能,如S3 Select和hadoop-openstack模块。用户需要评估这些移除对现有系统的影响,特别是如果依赖这些功能的应用,可能需要寻找替代方案或进行相应的代码修改。
延伸问答
Hadoop 3.4.1相比于3.3.1有哪些主要改进?
Hadoop 3.4.1主要改进包括AWS SDK升级、ABFS增强、HDFS新特性及YARN改进,同时更新了安全性和依赖版本,移除了多个功能。
在升级到Hadoop 3.4.1时需要注意哪些依赖兼容性问题?
需要注意Protocol Buffers的重大变化,确保所有依赖统一升级,特别是Protocol Buffers版本从2.5升级到3.23,存在不兼容问题。
Hadoop 3.4.1中移除了哪些功能?
移除了hadoop-openstack模块、HTrace追踪、S3 Select等功能。
Hadoop 3.4.1对安全性做了哪些更新?
Hadoop 3.4.1更新了安全性,修复了多个CVE漏洞,并更新了依赖版本。
Hadoop 3.4.1中Protocol Buffers的变化对兼容性有什么影响?
Protocol Buffers从2.5升级到3.23,导致Java类不兼容,所有依赖Hadoop RPC通信的组件必须统一升级,不能混合版本运行。
如何验证Hadoop 3.4.1的Log4j配置?
需要测试关键日志输出,并确保更新Maven依赖到reload4j,同时排除旧的log4j依赖。