Crea e metti al sicuro un cluster Metastore Hive

Panoramica

Quando crei un cluster Dataproc, l'applicazione Apache Hive e i relativi componenti, incluso Hive Metastore, vengono installati sul cluster e viene impostata una password predefinita 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 consigliata 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 cluster diversi

Imposta la password del metastore Hive

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

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

Note:

  • Consulta la sezione Creare una chiave per creare una chiave in Cloud Key Management Service.
  • La password del metastore Hive viene memorizzata solo sui nodi master del cluster, non sui nodi di lavoro.

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

Scenari non supportati

Dataproc non supporta gli scenari Hive Metastore seguenti, indipendentemente dal fatto che utilizzi la password Hive Metastore predefinita o 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.

  • Disattiva Hive Metastore 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.