Hadoop版本
- Haddoop1.x
- Haddoop2.x
- Haddoop3.x
Haddoop3.0 GA 版本于2017年12月份正式发布下面来说一下版本号后面的后缀表示的含义
- Alpha:内部测试版
- Beta:对外测试版(有点像iphone发布最新ios11的时候都会先发布Beta版本让大家去测试)
- GA:general availability 官方正式发布版
- Release 发布版
所以我们在工程上要用 GA 版本
Hadoop 3 新特征
- 基于JDK1.8(最低版本要求)
- 剔除过期的API和实现,废弃hftp转为webhfs替代
- Classpath isolation:新增的防止不同版本 jar 包冲突
- Shell重写 (修复了Hadoop2脚本的bug,启动时的脚本命令也有不同,建议运行Hadoop3的脚本,大概有三分之一的地方不一样)
- 支持HDFS的擦除编码 Erasure Encoding:默认EC策略可以节省50%的存储空间,同时还可以承受更多的存储故障(还在Haddoop2的基础上增加恢复功能)
- DataNode 内部添加了负载均衡 Disk Balancer,磁盘之间的负载均衡(假定有3台服务器的磁盘都满了数据,数据存储在DataNode当中,可以在买一块磁盘插入,但其他磁盘还是满的,新磁盘是空的,这就产生了数据倾斜,所以Hadoop3提供了 Disk Balancer 磁盘平衡器自动帮我们将满磁盘分配到其他磁盘当中)
- MapReduce任务级本地优化
- MapReduce内存参数自动推断
- mapreduce.{map,reduce}.memory.mb和mapreduce.{map,reduce}.java.opts (在Hadoop2中是需要配置这两项,但在3中就会根据任务执行级别自动推断所需要的内存,所以3比2要快)
- 基于 cgroup 的内存隔离和 IO Disk 隔离
- 支持更改分配容器的资源 Container resizing
Hadoop 3 端口号的改变
分类 | 应用 | Haddop 2.x port | Haddop 3 port |
---|---|---|---|
NNPorts | Namenode | 8020 | 9820 |
NNPorts | NN HTTP UI | 50070 | 9870 |
NNPorts | NN HTTPS UI | 50470 | 9871 |
SNN ports | SNN HTTP | 50091 | 9869 |
SNN ports | SNN HTTP UI | 50090 | 9868 |
DN ports | DN IPC | 50020 | 9867 |
DN ports | DN | 50010 | 9866 |
DN ports | DN HTTP UI | 50075 | 9864 |
DN ports | Namenode | 50475 | 9865 |