- 最低Java版本从7升级到8
- 引入纠删码(Erasure Coding)
- 主要解决数据量大到–定程度磁盘空间存储能力不足的问题.
HDFS
中的默认3副本方案在存储空间中具有200%的额外开销。但是,对于I/O
活动相对较少冷数据集,在正常操作期间很少访问其他块副本,但仍然会消耗与第-一个副本相同的资源量 - 纠删码能勾在不到50%数据冗余的情况下提供和3副本相同的容错能力,因此,使用纠删码作为副本机制的改进是自然而然,也是未来的趋势
- 重写了Shell 脚本
重写了Shell
脚本,修改了之前版本长期存在的–些错误,并提供了一些新功能,在尽可能保证兼容性的前提下,一些新变化仍然可能导致之前的安装出现问题。 - 支持超过两个 NN
HDFS NameNode
高可用性的初始实现为单个Active NameNode
和单个Standby NameNode
,将edits复制到三个JournalNode
。该体系结构能够容忍系统中-一个NN或者一个JN故障.但是,某些部署需要更高程序的容错能力,Hadoop3.x
允许用户运行一个Active NameNode
和多个Standby NameNode
- 默认端口改变
Hadoop3.x
之前,多个Hadoop
服务的默认端口位于Linux
临时端口范围(63768-61000).这意味着在启动时,由于与另一个应用程序冲突,服务有时无法绑定到端口。在Hadoop3.x
中,这些可能冲突的端口已移出临时范围,受影响的有NameNode
,SecondaryNamenode
,DataNode
和KMS
详细:官方文档