Supported Java Versions
- Apache Hadoop 3.x now supports only Java 8
- Apache Hadoop from 2.7.x to 2.x support Java 7 and 8
- Java 11 support is now in progress:
- trunk (3.3.0-SNAPSHOT) supports Java 11 as runtime:
- Compiling Hadoop with Java 11 is not supported:
Supported JDKs/JVMs
- Now Apache Hadoop community is using OpenJDK for the build/test/release environment, and that's why OpenJDK should be supported in the community.
- Other jdks/jvms should work well. If you find they don't work as expected, please file a JIRA.
Java Incompatible Changes
This document is for users who upgrade Java version of their Hadoop cluster. It documents the incompatible changes of Java that affect Apache Hadoop.
Java 8
Versions | Incompatible changes | Related JDK bug system tickets | Related JIRAs |
---|---|---|---|
1.8.0_242 | The visibility of sun.nio.ch.SocketAdaptor is changed from public to package-private. TestIPC#testRTEDuringConnectionSetup is affected. | JDK-8237177 |
|
1.8.0_242 | Kerberos Java client will fail by "Message stream modified (41)" when the client requests a renewable ticket and the KDC returns a non-renewable ticket. If your principal is not allowed to obtain a renewable ticket, you must remove "renew_lifetime" setting from your krb5.conf. | JDK-8131051 | |
1.8.0_191 | All DES cipher suites were disabled. If you are explicitly using DEC cipher suites, you need to change cipher suite to a strong one. |
| |
1.8.0_171 | In Apache Hadoop 2.7.0 to 2.7.6, 2.8.0 to 2.8.4, 2.9.0 to 2.9.1, 3.0.0 to 3.0.2, and 3.1.0, KMS fails by java.security.UnrecoverableKeyException due to Enhanced KeyStore Mechanisms. You need to set the system property "jceks.key.serialFilter" to the following value to avoid this error: java.lang.Enum;java.security.KeyRep;java.security.KeyRep$Type;javax.crypto.spec.SecretKeySpec;org.apache.hadoop.crypto.key.JavaKeyStoreProvider$KeyMetadata;!*" |
|