Criar e proteger um cluster do metastore do Hive

Visão geral

Ao criar um cluster do Dataproc, o aplicativo Apache Hive e os componentes dele, 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 uma prática recomendada de segurança para garantir o controle do acesso ao metastore do Hive local, fornecendo sua própria senha.

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

Definir a senha do metastore do Hive

Execute o comando clusters create da CLI do Google Cloud do Dataproc a seguir para criar um cluster do Dataproc e especificar uma senha do 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 do metastore do Hive é armazenada apenas nos nós mestres do cluster, não nos nós de worker.

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

Cenários não compatíveis

O Dataproc não oferece suporte aos seguintes cenários de metastore do Hive, independentemente de você usar a senha padrão ou uma senha 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 worker 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 HiveMetaStore processo em execução no nó mestre do Dataproc.

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