Crea e proteggi un cluster metastore Hive

Panoramica

Quando crei un cluster Dataproc, l'applicazione Apache Hive e i relativi componenti, incluso il metastore Hive, vengono installati sul cluster e una password predefinita viene impostata nel file hive-site.xml che si trova sul nodo master del cluster.

È consigliabile specificare la propria password del metastore Hive per raggiungere i seguenti obiettivi:

  • Come misura di sicurezza di best practice per assicurarti di controllare l'accesso al metastore Hive locale fornendo la tua password

  • Per specificare una password nota che controlla l'accesso ai metastore Hive esterni utilizzati con database esterni condivisi tra diversi cluster

Impostare la password del metastore Hive

Esegui il seguente comando Google Cloud CLI Dataproc clusters create per creare un cluster Dataproc e specificare una password del metastore Hive.

gcloud dataproc clusters create cluster-name
 --properties="hive:javax.jdo.option.ConnectionPassword=HIVE_METASTORE_PASSWORD"

Note:

  • Consulta Creare una chiave per creare una chiave in Cloud Key Management Service.
  • La password del metastore Hive viene archiviata solo sui nodi master del cluster, non sui nodi worker.

Per ulteriori informazioni sulla protezione dei cluster Dataproc, consulta Best practice per la sicurezza di Dataproc.

Scenari non supportati

Dataproc non supporta i seguenti scenari del metastore Hive, indipendentemente dal fatto che tu utilizzi la password predefinita o una password del metastore Hive fornita dall'utente:

  • Utilizzi un client metastore incorporato nel driver Spark in esecuzione in modalità cluster, in modo che i nodi worker richiedano le password Hive. Questo scenario può causare problemi di connettività con il database del metastore, poiché la connessione non viene stabilita tramite il processo HiveMetaStore in esecuzione sul nodo master Dataproc.

  • Disattivi il metastore Hive e hive-server2 per utilizzare il tuo database MySQL. In questo scenario, la proprietà spark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://CLUSTER_NAME-m/metastore non ha alcun effetto.