Crea e metti al sicuro un cluster Metastore Hive

Panoramica

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

Ti consigliamo di specificare la tua password del metastore Hive per raggiungere i seguenti obiettivi:

  • Come misura di sicurezza 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

Imposta la password del metastore Hive

Esegui il seguente 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:

  • Per creare una chiave in Cloud Key Management Service, consulta la sezione Creare una chiave.
  • 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 le best practice per la sicurezza di Dataproc.

Scenari non supportati

Dataproc non supporta i seguenti scenari del metastore Hive, indipendentemente dall'utilizzo della password predefinita o di una fornita dall'utente per il metastore Hive:

  • Utilizzi un client del 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 effettuata tramite il processo HiveMetaStore in esecuzione sul nodo principale Dataproc.

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