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.
| Domaine | Versions majeures du JDK prises en charge | Notes |
|---|---|---|
| Runtime Ambari Server | JDK 17 | Ambari Server requiert JDK 17. |
| Runtime stack ODP (par défaut) | JDK 8 | De nombreux composants de la stack utilisent encore JDK 8 par défaut. |
| Runtime stack ODP (ODP 1.3+) | JDK 8 et JDK 17 | La migration complète de la stack vers JDK 17 est prise en charge à partir d'ODP 1.3+. |
Apache Ambari
| Name | Version | |
|---|---|---|
| OracleJDK | ||
| JDK7 | JDK8 | JDK17 |
| OpenJDK | ||
| JDK7 | JDK8 | JDK17 |
Distribution ODP Hadoop
| Name | Version | |
|---|---|---|
| OracleJDK | ||
| JDK7 | JDK8 | JDK17 |
| OpenJDK | ||
| JDK7 | JDK8 | JDK17 |
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.
- Ubuntu 22/24
- RHEL/CentOS/Rocky/Alma 8/9
sudo apt update -y
sudo apt install -y openjdk-17-jdk
sudo apt install -y openjdk-8-jdk
sudo dnf install -y java-17-openjdk java-17-openjdk-devel
sudo dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
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é)
- Ubuntu (apt)
- Famille RHEL (dnf/rpm)
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'
rpm -q java-1.8.0-openjdk java-17-openjdk || true
rpm -qi java-1.8.0-openjdk | sed -n '1,40p'
rpm -qi java-17-openjdk | sed -n '1,40p'
dnf --showduplicates list java-1.8.0-openjdk java-17-openjdk | tail -n +1
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/
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.