Crie e proteja um cluster de metastore do Hive

Vista geral

Quando cria um cluster do Dataproc, a aplicação Apache Hive e os respetivos componentes, incluindo o Hive metastore, são instalados no cluster, e é definida uma palavra-passe predefinida no ficheiro hive-site.xml localizado no nó principal do cluster.

É recomendável especificar a sua própria palavra-passe do Hive metastore para alcançar os seguintes objetivos:

  • Como medida de segurança recomendada para garantir que controla o acesso ao metastore do Hive local, forneça a sua própria palavra-passe

  • Para especificar uma palavra-passe conhecida que controla o acesso a metastores do Hive externos usados com bases de dados externas que são partilhadas entre diferentes clusters

Defina a palavra-passe do metastore do Hive

Execute o seguinte comando Google Cloud CLI Dataproc clusters create para criar um cluster do Dataproc e especificar uma palavra-passe do metastore do Hive.

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

Notas:

  • Consulte o artigo Crie uma chave para criar uma chave no Cloud Key Management Service.
  • A palavra-passe da metastore do Hive é armazenada apenas nos nós principais do cluster e não nos nós de trabalho.

Para ver informações adicionais sobre a proteção de clusters do Dataproc, consulte as práticas recomendadas de segurança do Dataproc.

Cenários não suportados

O Dataproc não suporta os seguintes cenários do metastore do Hive, independentemente de usar a predefinição ou uma palavra-passe do metastore do Hive fornecida pelo utilizador:

  • Usa um cliente de metastore incorporado no controlador do Spark em execução no modo de cluster, pelo que os nós de trabalho requerem palavras-passe do Hive. Este cenário pode causar problemas de conetividade com a base de dados da metastore, uma vez que a ligação não é feita através do processo HiveMetaStore em execução no nó principal do Dataproc.

  • Desativa o metastore do Hive e o hive-server2 para usar a sua própria base de dados MySQL. Neste cenário, a propriedade spark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://CLUSTER_NAME-m/metastore não tem efeito.