Configurar um metastore externo para o Hive
Por padrão, o Hive registra as informações do metastore em um banco de dados MySQL no sistema de arquivos do nó primário. O metastore contém uma descrição da tabela e dos dados subjacentes nos quais foi criado, incluindo os nomes de partição, os tipos de dados etc. Quando um cluster é encerrado, todos os nós de cluster são desligados, inclusive o nó primário. Quando isso acontece, os dados locais são perdidos porque os sistemas de arquivos dos nós usam armazenamento temporário. Se precisar que o metastore seja persistido, você deverá criar um metastore externo que exista fora do cluster.
Você tem duas opções para um metastore externo:
-
Catálogo de Dados do AWS Glue (somente versão 5.8.0 ou posterior do Amazon EMR).
Para ter mais informações, consulte Usar o Catálogo de Dados do AWS Glue como metastore do Hive.
-
Amazon RDS ou Amazon Aurora.
Para ter mais informações, consulte Usar um banco de dados externo MySQL ou Amazon Aurora.
nota
Se você estiver usando o Hive 3 e encontrar muitas conexões com o metastore do Hive, configure o parâmetro datanucleus.connectionPool.maxPoolSize
para ter um valor menor ou aumente o número de conexões que o servidor de banco de dados pode processar. O aumento do número de conexões se deve à forma como o Hive calcula o número máximo de conexões JDBC. Para calcular o valor ideal de performance, consulte Propriedades de configuração do Hive