Use um RDS for MySQL autogerenciado ou uma instância do ApsaraDB RDS for MySQL como metastore para clusters DataLake, Custom e Hadoop no E-MapReduce (EMR).
Pré-requisitos
É necessária uma instância do RDS for MySQL.
Este tópico usa uma instância do ApsaraDB RDS for MySQL como exemplo. Para mais informações, consulte Crie uma instância do ApsaraDB RDS for MySQL .
Observações de uso
Certifique-se de que o cluster EMR criado possa se conectar à instância do RDS for MySQL.
Se você usar uma instância do ApsaraDB RDS for MySQL:
-
Mesma VPC:
Por padrão, o cluster EMR e a instância do RDS for MySQL se comunicam pela rede privada. No entanto, adicione o bloco CIDR IPv4 da VPC do cluster EMR à lista de permissões da instância do RDS for MySQL.
Essa etapa permite a conexão entre o cluster EMR e a instância do RDS for MySQL.
-
VPCs diferentes:
Se o cluster EMR e a instância do RDS for MySQL estiverem em VPCs distintas, estabeleça uma conexão de rede entre eles, por exemplo, usando uma conexão de peering de VPC. Para mais informações, consulte Usar uma conexão de peering de VPC para habilitar comunicação privada entre VPCs.
Após estabelecer a conexão de rede, adicione também o bloco CIDR IPv4 da VPC do cluster EMR à lista de permissões da instância do RDS for MySQL.
Procedimento
Etapa 1: Preparar o metadatabase
Crie um banco de dados. Para mais informações, consulte Crie um banco de dados.
-
Crie uma conta de usuário padrão e conceda a ela permissões de leitura e gravação. Para mais informações, consulte Crie uma conta.
NotaAnote o nome de usuário e a senha. Essas informações serão necessárias na Etapa 2: Crie o cluster.
-
Obtenha o endpoint interno do banco de dados.
Adicione o bloco CIDR IPv4 da VPC do cluster EMR à lista de permissões da instância do RDS for MySQL. Para mais informações, consulte Configure uma lista de permissões de IP.
Na página de detalhes da instância, clique em Database Connection no painel de navegação à esquerda.
-
Na página Database Connection, clique no endpoint interno para copiá-lo.
NotaAnote o endpoint interno. Essa informação será necessária na Etapa 2: Crie o cluster.
Etapa 2: Crie o cluster
Na página Software Configuration do assistente de criação de cluster, configure os parâmetros a seguir. Para obter informações sobre outros parâmetros, consulte Crie um cluster.
|
Parâmetros DataLake e Custom |
Parâmetros Hadoop |
Descrição |
|
|
Metadata |
Selecione Self-managed RDS. Nota
O parâmetro Metadata aparece somente após selecionar os serviços HDFS (OSS-HDFS), YARN e Hive para um cluster DataLake ou Custom. |
||
|
javax.jdo.option.ConnectionURL |
RDS Endpoint |
Insira a URL de conexão no formato
|
|
|
javax.jdo.option.ConnectionUserName |
RDS Username |
Insira o nome de usuário da conta criada na Etapa 1: Preparar o metadatabase. |
|
|
javax.jdo.option.ConnectionPassword |
RDS Password |
Insira a senha da conta criada na Etapa 1: Preparar o metadatabase. |
|
(Opcional) Etapa 3: Inicializar o metastore
-
Inicialize o metastore se você criou um cluster Hadoop de uma versão anterior (EMR V3.38.x ou anterior, EMR V4.9.x ou anterior, ou EMR V5.4.x ou anterior) ou se deseja alterar o metastore de um cluster existente para uma instância do RDS for MySQL.
Antes da inicialização, os serviços Hive Metastore, HiveServer2 e Spark ThriftServer podem não funcionar corretamente. Esses serviços são restaurados automaticamente quando a inicialização é concluída.
Clusters DataLake e Custom inicializam automaticamente o metadatabase do Hive durante a criação, usando os parâmetros de conexão de banco de dados fornecidos. Portanto, ignore esta etapa.
Faça login no nó mestre do cluster via SSH. Para mais informações, consulte Fazer login em um cluster.
-
Execute o comando a seguir para alternar para o usuário
hadoop.su - hadoop -
Execute o comando a seguir para inicializar o metastore.
schematool -initSchema -dbType mysqlA instância do RDS for MySQL está agora configurada como o metadatabase do Hive.