Créer et sécuriser un cluster Hive Metastore

Présentation

Lorsque vous créez un cluster Managed Service pour Apache Spark, l'application Apache Hive et ses composants, y compris Hive Metastore, sont installés sur le cluster. 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.

Nous vous recommandons 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 pour vous assurer 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 metastores 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 Managed Service pour Apache Spark clusters create suivante pour créer un cluster Managed Service pour Apache Spark et spécifier un mot de passe pour le metastore 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 metastore Hive n'est stocké que sur 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 Managed Service pour Apache Spark, consultez Bonnes pratiques de sécurité pour Managed Service pour Apache Spark.

Scénarios non compatibles

Managed Service pour Apache Spark n'est pas compatible avec les scénarios de metastore Hive suivants, que vous utilisiez le mot de passe par défaut ou un mot de passe 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 calcul nécessitent des mots de passe Hive. Ce scénario peut entraîner des problèmes de connectivité avec la base de données metastore, car la connexion n'est pas établie via le processus HiveMetaStore exécuté sur le nœud maître Managed Service pour Apache Spark.

  • 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.