Présentation
Lorsque vous créez un cluster Dataproc, l'application Apache Hive et ses composants, y compris le métastore Hive, sont installés sur le cluster, et un mot de passe par défaut est défini dans le fichier hive-site.xml
situé sur le nœud maître du cluster.
Il est recommandé de spécifier votre propre mot de passe de métastore Hive pour atteindre les objectifs suivants:
En tant que mesure de sécurité recommandée, assurez-vous de contrôler l'accès au métastore Hive local en fournissant votre propre mot de passe.
Pour spécifier un mot de passe connu qui contrôle l'accès aux métastores Hive externes utilisés avec des bases de données externes partagées entre différents clusters
Définir le mot de passe du métastore Hive
Exécutez la commande Google Cloud CLI Dataproc clusters create suivante pour créer un cluster Dataproc et spécifier un mot de passe de métastore Hive.
gcloud dataproc clusters create cluster-name --properties="hive:javax.jdo.option.ConnectionPassword=HIVE_METASTORE_PASSWORD"
Remarques :
- Pour créer une clé dans Cloud Key Management Service, consultez Créer une clé.
- Le mot de passe du métastore Hive n'est stocké que sur le ou les nœuds maîtres du cluster, et non sur les nœuds de calcul.
Pour en savoir plus sur la sécurisation des clusters Dataproc, consultez les bonnes pratiques de sécurité Dataproc.
Scénarios non compatibles
Dataproc n'est pas compatible avec les scénarios de métastore Hive suivants, que vous utilisiez le mot de passe par défaut ou un mot de passe de métastore Hive fourni par l'utilisateur:
Vous utilisez un client metastore intégré dans le pilote Spark exécuté en mode cluster, de sorte que les nœuds de travail nécessitent des mots de passe Hive. Ce scénario peut entraîner des problèmes de connectivité avec la base de données du métastore, car la connexion n'est pas établie via le processus
HiveMetaStore
exécuté sur le nœud maître Dataproc.Vous désactivez le métastore Hive et
hive-server2
pour utiliser votre propre base de données MySQL. Dans ce scénario, la propriétéspark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://CLUSTER_NAME-m/metastore
n'a aucun effet.