1、将默认的最低 jdk 从 7 升级到 8
2、纠删码可以将 3 倍副本占据的空间压缩到 1.5 倍,并保持 3 倍副本的容错。由于在读取数据的时候需要进行额外的计算,用于存储使用不频繁的数据
3、通过扩展 YARN 的资源类型,支持 CPU 和内存之外的其他资源,如 GPU、FPGA、软件 许可证、本地存储等。
4、重写了 hadoop 中的 shell 脚本,修复了很多长期存在的 bug 并添加了新特性。有一 些改进兼容老版本,有一些不兼容。
5、对 map 阶段的输出收集器增加了本地实现,对于洗牌密集型工作,可以提高 30%以上的 性能。
6、hadoop2.x 中 NameNode 的 HA 包含一个 active 的 NameNode 和一个 Standby 的 NameNode。解决了系统中 NameNode 的单点故障问题。在 hadoop3 中允许多个 standby 状态的 NameNode 以达到更高级别容错的目的
7、以前,多个 Hadoop 服务的默认端口位于 Linux 临时端口范围(32768-61000)。 这 意味着在启动时,由于与另一个应用程序的冲突,服务有时无法绑定到端口。这些冲突的端 口已移出临时范围,影响 NameNode,Secondary NameNode,DataNode 和 KMS。
8、Hadoop 现在支持与 Microsoft Azure Data Lake 和 Aliyun 对象存储系统的集成, 作为替代 Hadoop 兼容的文件系统。
9、单个 DataNode 管理多个磁盘。 在正常写入操作期间,磁盘将被均匀填充。 但是,添 加或替换磁盘可能会导致 DataNode 内的严重数据偏斜。 旧的 HDFS 平衡器不能处理,旧 的 HDFS 平衡器处理 DN 之间而非内部的数据偏斜。
10、对 Hadoop 守护进程以及 MapReduce 任务的堆管理做了一系列更改。现在可以根据 主机的内存大小进行自动调整,并且不推荐使用 HADOOP_HEAPSIZE 变量。简化了 map 和 reduce 任务堆空间的配置,在任务中不再需要以 java 选项的方式进行指定
11、为 Amazon S3 存储的 S3A 客户端添加了一个可选功能:能够将 DynamoDB 表用于文 件和目录元数据的快速一致存储
12、HDFS 基于路由器的联邦添加了一个 RPC 路由层,该层提供多个 HDFS 命名空间的联合视图。 这与现有的 ViewFs 和 HDFS 联合功能类似,不同之处在于安装表由路由层而不是 客户端在服务器端进行管理, 简化了对现有 HDFS 客户端对联邦群集的访问。