Criar e proteger um cluster de metastore do Hive

Visão geral

Quando você cria um cluster do Dataproc, o aplicativo Apache Hive e os componentes, incluindo o metastore do Hive, são instalados no cluster, e uma senha padrão é definida no arquivo hive-site.xml localizado no nó mestre do cluster.

É recomendável especificar sua própria senha do metastore do Hive para alcançar as seguintes metas:

  • Como prática recomendada de segurança, forneça sua própria senha para garantir o controle de acesso ao metastore Hive local.

  • Para especificar uma senha conhecida que controla o acesso a metastores externas do Hive usadas com bancos de dados externos compartilhados entre diferentes clusters

Definir a senha do metastore do Hive

Execute o comando Google Cloud CLI Dataproc clusters create abaixo para criar um cluster do Dataproc e especificar uma senha de metastore do Hive.

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

Observações:

  • Consulte Criar uma chave para criar uma chave no Cloud Key Management Service.
  • A senha da metastore do Hive é armazenada apenas nos nós mestre do cluster, não nos nós de trabalho.

Para mais informações sobre como proteger clusters do Dataproc, consulte as práticas recomendadas de segurança do Dataproc.

Cenários sem suporte

O Dataproc não oferece suporte aos seguintes cenários de metastore do Hive, independente de você usar a senha padrão ou uma senha de metastore do Hive fornecida pelo usuário:

  • Você usa um cliente de metastore incorporado no driver do Spark em execução no modo de cluster, para que os nós de trabalho exijam senhas do Hive. Esse cenário pode causar problemas de conectividade com o banco de dados do metastore, já que a conexão não é feita pelo processo HiveMetaStore em execução no nó mestre do Dataproc.

  • Você desativa o metastore do Hive e o hive-server2 para usar seu próprio banco de dados MySQL. Nesse cenário, a propriedade spark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://CLUSTER_NAME-m/metastore não tem efeito.