Installing OpenJDK for CDP Runtime

This section is optional. The CDP Runtime requires a JDK to be installed on all cluster hosts prior to Cloudera Manager and Runtime installation. Cloudera Manager can automatically install an OpenJDK that has been pre-packaged by Cloudera. This OpenJDK provided by Cloudera may not be the latest version.

If you do not want to use the OpenJDK provided by Cloudera, you must install a JDK of your choice on all hosts in the cluster. These instructions describes how to install the OpenJDK package provided by your Operating System Vendor.

Manually install a supported JDK on all cluster hosts before installing Cloudera software.

Please see the Cloudera Support Matrix for detailed information about supported JDKs.

Note that the path for the default truststore for OpenJDK 8* is jre/lib/security/cacerts.
  • The package names used when installing the OpenJDK 17*, OpenJDK 11*, and OpenJDK 8* are different and are noted in the steps below.
  • The path for the default truststore has changed from (OpenJDK 8*) jre/lib/security/cacerts to (OpenJDK 11*) lib/security/cacerts
  • The path to default truststore for OpenJDK 17* is lib/security/cacerts
  • See the following blog post for general information about migrating to Java 11: All You Need to Know For Migrating To Java 11.
  • See the following blog post for general information about migrating to Java 17: Migrate to Java 17.

You must install a supported version of OpenJDK. If your deployment uses a version of OpenJDK lower than 1.8.0_181, see TLS Protocol Error with OpenJDK.

  1. Log in to each host and run the command for the version of the JDK you want to install:
    RHEL
    OpenJDK 8 *
    sudo yum install java-1.8.0-openjdk-devel
    OpenJDK 11*
    sudo yum install java-11-openjdk-devel
    OpenJDK 17*
    sudo yum install java-17-openjdk-devel
    Ubuntu
    OpenJDK 8*
    sudo apt-get install openjdk-8-jdk
    OpenJDK 11*
    sudo apt install openjdk-11-jdk
    OpenJDK 17*
    sudo apt install openjdk-17-jdk
    SLES
    OpenJDK 8*
    sudo zypper install java-1_8_0-openjdk-devel
    OpenJDK 11*
    sudo zypper install java-11-openjdk-devel
    OpenJDK 17*
    sudo zypper --non-interactive install java-17-openjdk-devel

  2. Tune the JDK (OpenJDK 11* or OpenJDK 17*).

    OpenJDK 11* or OpenJDK 17* uses new defaults for garbage collection and other Java options specified when launching Java processes. Due to these changes you may need to tune the garbage collection by adjusting the Java options used to run cluster services, which are configured separately for each service using the service's configuration parameters. To locate the correct parameter, log in to the Cloudera Manager Admin Console, go to the cluster and service you want to configure and search for "Java Configuration Options".

    When using OpenJDK 11* or OpenJDK 17*, Cloudera Manager and most Cloudera Runtime services use G1GC as the default method of garbage collection. Java 8 used "ConcurrentMarkSweep" (CMS) for garbage collection. When using G1GC, the pauses for garbage collection are shorter, so components will usually be more responsive, but they are more sensitive to JVMs with overcommitted memory usage. See Tuning JVM Garbage Collection.

* Azul OpenJDK, OpenJDK 8, OpenJDK 11, and OpenJDK 17 are TCK certified for CDP.