CDH集群JDK版本兼容性

171 阅读1分钟

官网地址:Java Requirements

JDK 使用了一种名为压缩普通对象指针(Compressed OOPs,Compressed Ordinary Object Pointers)的优化技术,其特点如下:

  • 64位 JVM 可以使用 4 字节指针来寻址最多 32GB 的堆内存
  • 大于 32GB 的堆内存,需要 8 字节指针
  • 稍小于 32GB 的堆内存可以比稍大于 32GB 的堆内存容纳更多的对象

所以:

  • 如果不需要超过 32GB 的堆内存,则设置堆内存 <= 31GB
  • 如果需要超过 32GB 的堆内存,则设置堆内存 >= 48GB
  • 通常,如果需要超过 32GB 的堆内存,则设置为所需堆内存的 1.5 倍
CDH 版本支持的 Oracle JDK 版本支持的 Open JDK 版本
5.3-5.151.7、1.8none
>= 5.161.7、1.81.8
6.01.8none
6.11.81.8
6.21.81.8
6.31.81.8、>= 11.0.3

说明:

  • 所有支持的 JDK 版本都必须是 64位
  • CDH 集群中的所有节点都必须使用相同版本的 JDK
  • 不能使用的 JDK-8 有:8u271、8u281、8u291、8u40、8u45、8u60
  • 经过 CDH 官方测试并建议使用的 Oracle JDK-8 版本:8u181、8u162、8u141、8u131、8u121、8u111、8u102、8u91、8u74、8u31
  • 经过 CDH 官方测试并建议使用的 Open JDK-8 版本:8u212、8u181