Choosing a Java vendor in Lifecycle Manager

Determine whether to use LCM to install Java and manage Java in DataStax Enterprise.

The Lifecycle Manager (LCM) feature of OpsCenter is capable of automatically installing Java to run DataStax Enterprise (DSE). Historically, LCM installed Oracle Java 8 runtime by default.

Starting in January 2019, Oracle is ending public updates for the Oracle Java 8 runtime, requiring commercial users to purchase a paid license to obtain updates.

To simplify licensing going forward, LCM in OpsCenter 6.7.0 is introducing support for installing OpenJDK as the default option.
Note: DataStax recommends the latest build of a Technology Compatibility Kit (TCK) Certified OpenJDK version 8.
LCM will install OpenJDK as distributed by operating system vendors through .deb or .rpm packages. Existing clusters will be migrated to OpenJDK unless Oracle is explicitly selected as the Java vendor prior to running the first install or upgrade job from within OpsCenter 6.7.0.

Java license compliance

In all cases, it is the customer’s responsibility to ensure they are running an appropriately licensed Java runtime that is compatible with DSE. OpenJDK users can potentially maintain compliance at no incremental cost beyond what is required to use the operating system itself, but it is ultimately the customer’s responsibility to understand and maintain compliance with their licensing obligations.

LCM 6.7 – Managed Java

If LCM is used to install and configure DSE on a cluster, LCM will manage the Java installation by default. In OpsCenter 6.0.0-6.5.x, LCM installs the latest public version of the Oracle Java 8 runtime. In OpsCenter 6.7.0 and greater, LCM will install the OpenJDK 8 runtime provided by the operating system as a deb or rpm package.

LCM will automatically migrate existing clusters from the Oracle Java 8 runtime to the OpenJDK 8 runtime in addition to installing OpenJDK for newly installed clusters. No action is necessary to perform this migration, which will occur automatically the first time an install or upgrade job is run on each node of a cluster.
Important: If you do not want to migrate to the OpenJDK 8 runtime, edit the Java Setup page of all relevant configuration profiles and select Oracle as the Java Vendor before running any install or upgrade jobs in OpsCenter 6.7 or greater.

Not all supported platforms provide an OpenJDK 8 package that is compatible with DSE 5.1 through DSE 6.7. For example, Ubuntu 14.04 does not provide this package. On such platforms, LCM jobs might initially fail after upgrading to OpsCenter 6.7. In these cases, take one of the following actions:

  • Select Oracle as the java-vendor, provided appropriate licenses are available.
  • Uncheck manage-java and install a licensed, compatible Java runtime outside of LCM as a prerequisite prior to running an install job.

LCM 6.7 – Unmanaged Java

If LCM is used to install and configure DSE on a cluster, but manage-java was previously unselected in the Java Setup page of all relevant config profiles, LCM will continue to respect that selection. No action is necessary. LCM will not attempt to install a Java runtime, and Java can be installed outside of LCM as a prerequisite prior to running an install job.

LCM 6.7 – Unsure how Java is installed

By default, LCM manages the installation of the Java runtime. To determine how java is managed for a specific cluster, inspect all relevant configuration profiles, select the Java Setup tab, and review whether the manage-java checkbox is selected.

LCM 6.1.0-6.5

Previous versions of LCM will still be capable of installing the Oracle Java 8 runtime, provided it is available for download from Oracle or from a privately-hosted custom URL. Starting in April 2019, commercial users cannot obtain a no-cost license from Oracle, and must purchase a license from Oracle directly, or migrate to an alternative Java runtime.

Upgrading to OpsCenter 6.7 or greater provides a migration path to using the OpenJDK 8 runtime provided by the operating system as a .deb or .rpm package.

Non-LCM user

In all cases, it is necessary to run an appropriately licensed Java runtime that is compatible with DSE. This necessity could require changes in how Java is licensed and deployed by your organization.