概览
创建 Dataproc 集群时,Apache Hive 应用及其组件(包括 Hive Metastore)会安装在集群上,并在集群主节点上的 hive-site.xml
文件中设置默认密码。
建议您指定自己的 Hive Metastore 密码,以实现以下目标:
作为一种最佳实践安全措施,旨在确保您控制对 本地 Hive Metastore
指定一个已知密码,用于控制对外部 Hive Metastore 的访问权限,该 Metastore 与在不同集群之间共享的外部数据库搭配使用
设置 Hive Metastore 密码
运行以下 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 Metastore 密码仅存储在集群主节点上,而不会存储在工作器节点上。
如需详细了解如何保护 Dataproc 集群,请参阅 Dataproc 安全性最佳实践。
不受支持的场景
无论您使用的是默认的 Hive Metastore 密码还是用户提供的 Hive Metastore 密码,Dataproc 都不支持以下 Hive Metastore 场景:
您将在集群模式下运行的 Spark 驱动程序中使用嵌入式 Metastore 客户端, 以便工作器节点需要使用 Hive 密码。这种情况可能会导致 Metastore 数据库出现连接问题 不是通过
HiveMetaStore
Dataproc 主节点。您需要停用 Hive Metastore 和
hive-server2
,以便使用自己的 MySQL 数据库。 在这种情况下,spark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://CLUSTER_NAME-m/metastore
属性没有任何影响。