Créer et sécuriser un cluster de métastore Hive

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 nœuds de calcul.

Pour en savoir plus sur la sécurisation des clusters Dataproc, consultez Bonnes pratiques de sécurité pour 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 allez utiliser un client de métastore intégré dans le pilote Spark, qui s'exécute en mode cluster. de sorte que les nœuds de calcul nécessitent des mots de passe Hive. Ce scénario peut entraîner les problèmes de connectivité avec la base de données métastore puisque la connexion n'est pas effectuée 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.