建立並保護 Hive 中繼存放區叢集

總覽

建立 Dataproc 叢集時,系統會在叢集上安裝 Apache Hive 應用程式及其元件 (包括 Hive 中繼存放區),並在叢集主要節點上的 hive-site.xml 檔案中設定預設密碼。

建議您指定自己的 Hive Metastore 密碼,以達成下列目標:

  • 為確保您能透過提供自己的密碼來控管本機 Hive 中繼存放區的存取權,建議您採取這項最佳做法安全措施

  • 指定已知密碼,控管對外部 Hive Metastore 的存取權,這些 Metastore 與不同叢集共用的外部資料庫搭配使用

設定 Hive 中繼存放區密碼

執行下列 Google Cloud CLI Dataproc clusters create 指令,建立 Dataproc 叢集並指定 Hive 中繼存放區密碼。

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

注意:

  • 如要在 Cloud Key Management Service 中建立金鑰,請參閱「建立金鑰」。
  • Hive 中繼存放區密碼只會儲存在叢集主要節點上,不會儲存在工作站節點上。

如要進一步瞭解如何保護 Dataproc 叢集安全,請參閱「Dataproc 安全性最佳做法」一文。

不支援的情境

無論您使用預設或使用者提供的 Hive Metastore 密碼,Dataproc 都不支援下列 Hive Metastore 情境:

  • 您在以叢集模式執行的 Spark 驅動程式中使用內嵌中繼資料存放區用戶端,因此工作站節點需要 Hive 密碼。由於連線並非透過 Dataproc 主要節點上執行的 HiveMetaStore 程序建立,因此這個情境可能會導致中繼存放區資料庫的連線問題。

  • 停用 Hive 中繼存放區和 hive-server2,改用自己的 MySQL 資料庫。 在這種情況下, spark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://CLUSTER_NAME-m/metastore 屬性不會有任何作用。