Übersicht
Wenn Sie einen Dataproc-Cluster erstellen, werden die Apache Hive-Anwendung und ihre Komponenten, einschließlich des Hive-Metastores, auf dem Cluster installiert und ein Standardpasswort wird in der Datei hive-site.xml
auf dem Masterknoten des Clusters festgelegt.
Es wird empfohlen, ein eigenes Hive-Metastore-Passwort anzugeben, um die folgenden Ziele zu erreichen:
Als bewährte Sicherheitsmaßnahme, um den Zugriff auf den lokalen Hive-Metastore zu steuern, indem Sie Ihr eigenes Passwort angeben
Geben Sie ein bekanntes Passwort an, mit dem der Zugriff auf externe Hive-Metastores gesteuert wird, die mit externen Datenbanken verwendet werden, die von verschiedenen Clustern gemeinsam genutzt werden.
Hive-Metastore-Passwort festlegen
Führen Sie den folgenden Google Cloud CLI Dataproc clusters create-Befehl aus, um einen Dataproc-Cluster zu erstellen und ein Hive-Metastore-Passwort anzugeben.
gcloud dataproc clusters create cluster-name --properties="hive:javax.jdo.option.ConnectionPassword=HIVE_METASTORE_PASSWORD"
Hinweise:
- Informationen zum Erstellen eines Schlüssels im Cloud Key Management Service finden Sie unter Schlüssel erstellen.
- Das Hive-Metaspeicherpasswort wird nur auf den Masterknoten des Clusters und nicht auf den Worker-Knoten gespeichert.
Weitere Informationen zum Sichern von Dataproc-Clustern finden Sie unter Best Practices für die Dataproc-Sicherheit.
Nicht unterstützte Szenarien
Dataproc unterstützt die folgenden Hive-Metastore-Szenarien nicht, unabhängig davon, ob Sie das Standardpasswort oder ein vom Nutzer angegebenes Hive-Metastore-Passwort verwenden:
Sie verwenden einen eingebetteten Metastore-Client im Spark-Treiber, der im Clustermodus ausgeführt wird. Daher benötigen die Worker-Knoten Hive-Passwörter. Dieses Szenario kann zu Verbindungsproblemen mit der Metastore-Datenbank führen, da die Verbindung nicht über den
HiveMetaStore
-Prozess hergestellt wird, der auf dem Dataproc-Masterknoten ausgeführt wird.Sie deaktivieren den Hive-Metastore und
hive-server2
, um Ihre eigene MySQL-Datenbank zu verwenden. In diesem Fall hat die Propertyspark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://CLUSTER_NAME-m/metastore
keine Auswirkungen.