Hadoop Java 版本

支持的Java版本

  • Apache Hadoop 3.x现在仅支持Java 8
  • 从2.7.x到2.x的Apache Hadoop支持Java 7和8
  • Java的11支是现在进行时:  HADOOP-15338 - Java 11 runtime support OPEN HADOOP-15338 - Java 11 runtime support OPEN HADOOP-15338 - Java 11 runtime support OPEN HADOOP-15338 - Java 11 runtime support OPEN HADOOP-15338 - Java 11运行时支持 打开
    • 主干(3.3.0-SNAPSHOT)支持Java 11作为运行时。
    • 不支持使用Java 11编译Hadoop。

支持的JDK / JVM

  • 现在,Apache Hadoop在构建环境中使用了OpenJDK,这就是为什么社区应该支持OpenJDK的原因。
    • https://github.com/apache/hadoop/blob/rel/release-3.2.1/dev-support/docker/Dockerfile#L92
  • 其他jdks / jvms应该可以正常工作。如果发现它们无法正常工作,请提交JIRA。

Java不兼容的更改

本文档适用于升级Hadoop集群的Java版本的用户。它记录了影响Apache Hadoop的Java的不兼容更改。

版本号
不兼容的更改
相关JIRA
1.8.0_191

JDK-8208350禁用了所有DES密码套件。如果您明确使用DEC密码套件,则需要将密码套件更改为一个强密码套件。

HADOOP-16016 - TestSSLFactory#testServerWeakCiphers在预提交零星失败构建 解决

1.8.0_171

在Apache Hadoop 2.7.0至2.7.6、2.8.0至2.8.4、2.9.0至2.9.1、3.0.0至3.0.2和3.1.0中,由于KMS因java.security.UnrecoverableKeyException而失败增强的KeyStore机制。您需要将系统属性“ jceks.key.serialFilter”设置为以下值,以避免发生此错误:

java.lang.Enum; java.security.KeyRep; java.security.KeyRep $ Type; javax.crypto.spec.SecretKeySpec; org.apache.hadoop.crypto.key.JavaKeyStoreProvider $ KeyMetadata;!*“

HADOOP-15473 - 配置serialFilter在KeyProvider避免UnrecoverableKeyException造成JDK-8189997 已解决

 

你可能感兴趣的:(Hadoop Java 版本)