Configurar clusters HDInsight com um banco de dados Ambari personalizado

O Apache Ambari simplifica o gerenciamento e o monitoramento de um cluster Apache Hadoop. O Ambari fornece uma interface do usuário da Web e uma API REST fáceis de usar. O Ambari está incluído nos clusters HDInsight e é usado para monitorar o cluster e fazer alterações de configuração.

Na criação normal de clusters, conforme descrito em outros artigos, como Configurar clusters no HDInsight, o Ambari é implantado em um Banco de Dados SQL do Azure S0 que é gerenciado pelo HDInsight e não é acessível aos usuários.

O recurso de banco de dados Ambari personalizado permite implantar um novo cluster e configurar o Ambari em um banco de dados externo que você gerencia. A implantação é feita com um modelo do Azure Resource Manager. Esta caraterística tem os seguintes benefícios:

  • Personalização - você escolhe o tamanho e a capacidade de processamento do banco de dados. Se você tiver grandes clusters processando cargas de trabalho intensivas, um banco de dados Ambari com especificações mais baixas pode se tornar um gargalo para operações de gerenciamento.
  • Flexibilidade - você pode dimensionar o banco de dados conforme necessário para atender às suas necessidades.
  • Controle - você pode gerenciar backups e segurança para seu banco de dados de uma forma que se adapte aos requisitos de sua organização.

O restante deste artigo discute os seguintes pontos:

  • requisitos para usar o recurso de banco de dados Ambari personalizado
  • as etapas necessárias para provisionar o cluster HDInsight usando seu próprio banco de dados externo para Apache Ambari

Requisitos personalizados do Ambari DB

Você pode implantar um banco de dados Ambari personalizado com todos os tipos e versões de cluster. Vários clusters não podem usar o mesmo banco de dados Ambari.

O Ambari DB personalizado tem os seguintes outros requisitos:

  • O nome do banco de dados não pode conter hífenes ou espaços
  • Você deve ter um servidor e um banco de dados existentes do Banco de Dados SQL do Azure.
  • O banco de dados fornecido para a instalação do Ambari deve estar vazio. Não deve haver tabelas no esquema dbo padrão.
  • O usuário usado para se conectar ao banco de dados deve ter permissões SELECT, CREATE TABLE, INSERT, UPDATE, DELETE, ALTER ON SCHEMA e REFERENCES ON SCHEMA no banco de dados.
GRANT CREATE TABLE TO newuser;
GRANT INSERT TO newuser;
GRANT SELECT TO newuser;
GRANT UPDATE TO newuser;
GRANT DELETE TO newuser;
GRANT ALTER ON SCHEMA::dbo TO newuser;
GRANT REFERENCES ON SCHEMA::dbo TO newuser;
  • Ative a opção Permitir acesso aos serviços do Azure no servidor onde você hospeda o Ambari.
  • Os endereços IP de gerenciamento do serviço HDInsight precisam ser permitidos na regra de firewall. Consulte Endereços IP de gerenciamento do HDInsight para obter uma lista dos endereços IP que devem ser adicionados à regra de firewall no nível do servidor.

Ao hospedar seu banco de dados Apache Ambari em um banco de dados externo, lembre-se dos seguintes pontos:

  • Você é responsável pelos custos extras do Banco de Dados SQL do Azure que contém o Ambari.
  • Faça backup do seu Ambari DB personalizado periodicamente. O Banco de Dados SQL do Azure gera backups automaticamente, mas o período de retenção de backup varia. Para obter mais informações, consulte Saiba mais sobre backups automáticos do Banco de dados SQL.
  • Não altere a senha personalizada do banco de dados Ambari depois que o cluster HDInsight atingir o estado de execução . Não é suportado.

Implantar clusters com um banco de dados Ambari personalizado

Para criar um cluster HDInsight que use seu próprio banco de dados Ambari externo, use o modelo personalizado de Início Rápido do Ambari DB.

Edite os parâmetros no azuredeploy.parameters.json para especificar informações sobre seu novo cluster e o banco de dados que contém o Ambari.

Você pode começar a implantação usando a CLI do Azure. Substitua <RESOURCEGROUPNAME> pelo grupo de recursos onde você deseja implantar seu cluster.

az deployment group create --name HDInsightAmbariDBDeployment \
    --resource-group <RESOURCEGROUPNAME> \
    --template-file azuredeploy.json \
    --parameters azuredeploy.parameters.json

Aviso

Use o seguinte banco de dados SQL recomendado e a VM de nó principal para seu cluster HDInsight. Não use o Ambari DB (S0) padrão para qualquer ambiente de produção.

Dimensionamento de banco de dados e headnode

A tabela a seguir fornece diretrizes sobre qual camada do Banco de Dados SQL do Azure deve ser selecionada com base no tamanho do cluster HDInsight.

Número de nós de trabalho Nível de banco de dados necessário VM de nó de cabeça necessária
<=4 S0 4 núcleos/28 GB de RAM ou superior
>4 && <=8 S1 4 núcleos/28 GB de RAM ou superior
>8 && <=16 S2 4 núcleos/28 GB de RAM ou superior
>16 && <=32 S3 8 núcleos/56 GB de RAM ou superior
>32 && <=64 S4 8 núcleos/56 GB de RAM ou superior
>64 && <=128 P2 16 núcleos/112 GB de RAM ou superior
>128 Contactar o Suporte Contactar o Suporte

Próximos passos