首页 > 代码库 > hadoop-3.0新特性

hadoop-3.0新特性

1.纠删码将数据存储空间节省50%

hadoop-3.0之前,HDFS存储方式为每一份数据存储3份,这也使得存储利用率仅为1/3,

hadoop-3.0引入纠删码技术(EC技术),实现1份数据+0.5份冗余校验数据存储方式

2.Shell脚本重写 

(1)增加了参数冲突检测,避免重复定义和冗余参数

(2)CLASSPATH, JAVA_LIBRARY_PATH, and LD_LIBRARY_PATH等参数的去重,缩短环境变量

(3)shell脚本重构,将更多的代码加入function中,提供重载,删除重复代码,便于测试

(4)脚本清理和简化

(5)尽可能与当前系统保持兼容

(6)提供一份Hadoop环境变量列表

3.支持多个NameNode

但是Active的NameNode始终只有1个,余下的都是Standby。 Standby NN会不断与JN同步,保证自己获取最新的editlog,并将edits同步到自己维护的image中去,这样便可以实现热备,在发生failover的时候,立马切换成active状态,对外提供服务。同时,JN只允许一个active状态的NN写入

4.Yarn

Yarn Timeline Service V2提供一个通用的应用程序共享信息和共享存储模块。可以将metrics等信息保存。可以实现分布式writer实例和一个可伸缩的存储模块。同时,v2版本在稳定性和性能上面也做出了提升,原先版本不适用于大集群,v2版本使用hbase取代了原先的leveldb作为后台的存储工具。

 

此外

5.hadoop-3.0要求JDK版本不低于1.8,对之前的Java版本不再提供支持

6.部分服务默认端口修改,不再绑定到Linux临时端口 (HDFS-9427,HADOOP-12811)

Namenode ports: 50470 --> 9871, 50070--> 9870, 8020 --> 9820

Secondary NN ports: 50091 --> 9869,50090 --> 9868

Datanode ports: 50020 --> 9867, 50010--> 9866, 50475 --> 9865, 50075 --> 9864

Kms server ports: 16000 --> 9600 (原先的16000与HMaster端口冲突)

7. 支持MicrosoftAzure Data Lake文件系统

8.Disk Balancer

支持单个Datanode上,不同硬盘间的数据balancer。老版本的hadoop只支持在Datanode之间进行balancer,每个节点内部不同硬盘之间若发生了数据不平衡,则没有一个好的办法进行处理。现在可以通过hdfs diskbalancer命令,进行节点内部硬盘间的数据平衡。该功能默认是关闭的,需要手动设置参数dfs.disk.balancer.enabled为true来开启。

 

 

hadoop-3.0新特性