Aller au contenu principal
Version: 1.3.1.0

Java Development Kit (JDK)

Cette page documente les runtimes JDK pris en charge par OpenSource Data Platform (ODP) 1.3.1.0, y compris la manière de valider la version exacte minor/build installée sur chaque système d'exploitation et la configuration de Java homes séparés pour Ambari Server et pour les composants de la stack.

Runtimes JDK pris en charge

Ambari et la stack ODP peuvent utiliser des Java homes différents.

DomaineVersions majeures du JDK prises en chargeNotes
Runtime Ambari ServerJDK 17Ambari Server requiert JDK 17.
Runtime stack ODP (par défaut)JDK 8De nombreux composants de la stack utilisent encore JDK 8 par défaut.
Runtime stack ODP (ODP 1.3+)JDK 8 et JDK 17La migration complète de la stack vers JDK 17 est prise en charge à partir d'ODP 1.3+.

Apache Ambari

NameVersion
OracleJDK
JDK7JDK8JDK17
OpenJDK
JDK7JDK8JDK17

Distribution ODP Hadoop

NameVersion
OracleJDK
JDK7JDK8JDK17
OpenJDK
JDK7JDK8JDK17

Installation des paquets JDK

Installez JDK 17 (pour Ambari Server) et gardez JDK 8 disponible pour les composants de la stack, sauf si la version d'ODP ciblée prend en charge un runtime stack entièrement en JDK 17.

sudo apt update -y
sudo apt install -y openjdk-17-jdk
sudo apt install -y openjdk-8-jdk
remarque

Les noms exacts des paquets et leur disponibilité dépendent de la version de votre OS et des dépôts activés.

Validation de la version JDK (majeure + minor/build)

Validez toujours le build exact du JDK installé sur chaque hôte.

Validation via JAVA_HOME

Si vous connaissez les Java homes, validez-les directement :

/path/to/jdk8/bin/java -version 2>&1 | head -n 1
/path/to/jdk17/bin/java -version 2>&1 | head -n 1

Motifs de sortie attendus :

  • JDK 8 : 1.8.0_...
  • JDK 17 : 17.0...

Validation du build du paquet OS (recommandé)

dpkg -l | egrep 'openjdk-(8|17)-jdk($|:)' || true
apt-cache policy openjdk-8-jdk | sed -n '1,20p'
apt-cache policy openjdk-17-jdk | sed -n '1,20p'

Configuration des Java homes pour Ambari et ODP

Ambari Server peut être configuré avec des Java homes séparés :

  • --java-home : le Java home distribué/utilisé pour les composants de la stack sur les hôtes du cluster.
  • --ambari-java-home : le Java home utilisé par le processus Ambari Server lui-même.

1) Trouver les Java homes

Les emplacements courants incluent :

  • Ubuntu : /usr/lib/jvm/java-1.8.0-openjdk-amd64, /usr/lib/jvm/java-17-openjdk-amd64/
  • Famille RHEL : /usr/lib/jvm/java-1.8.0-openjdk, /usr/lib/jvm/java-17-openjdk/

Si besoin, vous pouvez localiser les Java homes avec :

readlink -f "$(command -v java)"
update-alternatives --list java 2>/dev/null || true

2) Lancer la configuration Ambari avec les deux homes

À exécuter sur l'hôte Ambari Server.

sudo su -
ambari-server setup --silent \
--java-home=/usr/lib/jvm/java-1.8.0-openjdk-amd64 \
--ambari-java-home=/usr/lib/jvm/java-17-openjdk-amd64/
info

Si votre Ambari Server utilise une base de données externe, incluez les arguments base de données (--database, --databasehost, etc.) dans la même commande.

3) Redémarrer Ambari Server

Le redémarrage est requis pour que les nouveaux paramètres JAVA_HOME prennent effet.

sudo systemctl restart ambari-server

Si systemd n'est pas utilisé :

ambari-server restart

JAVA Alternatives

Certaines distributions peuvent basculer automatiquement l'alternative java par défaut vers JDK 17. Si le runtime de la stack ciblée requiert encore JDK 8, assurez-vous que le java système par défaut pointe vers JDK 8 lorsque nécessaire.