Usar um script Python para implantar um cluster de Big Data do SQL Server no AKS (Serviço de Kubernetes do Azure)

Aplica-se a: SQL Server 2019 (15.x)

Importante

O complemento Clusters de Big Data do Microsoft SQL Server 2019 será desativado. O suporte para Clusters de Big Data do SQL Server 2019 será encerrado em 28 de fevereiro de 2025. Todos os usuários existentes do SQL Server 2019 com Software Assurance terão suporte total na plataforma e o software continuará a ser mantido por meio de atualizações cumulativas do SQL Server até esse momento. Para obter mais informações, confira a postagem no blog de anúncio e as opções de Big Data na plataforma do Microsoft SQL Server.

Neste tutorial, use um script de implantação Python de exemplo para implantar um Clusters de Big Data do SQL Server 2019 no AKS (Serviço Kubernetes do Azure).

Dica

O AKS é apenas uma opção para hospedar o Kubernetes para seu cluster de Big Data. Para saber mais sobre outras opções de implantação, bem como personalizar opções de implantação, confira Como implantar Clusters de Big Data do SQL Server no Kubernetes.

A implantação padrão de cluster de Big Data usada aqui consiste em uma instância do SQL mestre, uma instância do pool de computação, duas instâncias do pool de dados e duas instâncias do pool de armazenamento. Os dados são persistidos usando volumes persistentes do Kubernetes que usam as classes de armazenamento padrão do AKS. A configuração padrão usada neste tutorial é adequada para ambientes de desenvolvimento/teste.

Pré-requisitos

  • Uma assinatura do Azure.
  • Ferramentas de Big Data:
    • azdata
    • kubectl
    • Azure Data Studio
    • Extensão do SQL Server 2019
    • CLI do Azure

Faça logon na sua conta do Azure

O script usa a CLI do Azure para automatizar a criação de um cluster do AKS. Antes de executar o script, você deve fazer logon em sua conta do Azure com a CLI do Azure pelo menos uma vez. Execute o seguinte comando de um prompt de comando. Para obter mais informações, consulte Entrar com a CLI do Azure.

az login

Baixar o script de implantação

Este tutorial automatiza a criação do cluster de Big Data no AKS usando um script Python deploy-sql-big-data-aks.py. Se você já tiver instalado o Python para azdata, poderá executar o script com êxito neste tutorial.

Em um prompt de Bash do Windows PowerShell ou Linux, execute o seguinte comando para baixar o script de implantação do GitHub.

curl -o deploy-sql-big-data-aks.py "https://raw.githubusercontent.com/Microsoft/sql-server-samples/master/samples/features/sql-big-data-cluster/deployment/aks/deploy-sql-big-data-aks.py"

Executar o script de implantação

Use as etapas a seguir para executar o script de implantação em um prompt do Bash do Linux ou Windows PowerShell. Esse script criará um serviço AKS no Azure e, em seguida, implantará um cluster de Big Data do SQL Server 2019 no AKS. Você também pode modificar o script com outras variáveis de ambiente para criar uma implantação personalizada.

  1. Execute o script com o seguinte comando:

    python deploy-sql-big-data-aks.py
    

    Observação

    Se você tiver python3 e python2 no computador cliente e no caminho, será necessário executar o comando usando python3: python3 deploy-sql-big-data-aks.py.

  2. Quando solicitadas, insira as seguintes informações:

    Valor Descrição
    ID da assinatura do Azure A ID da assinatura do Azure a ser usada no AKS. Você pode listar todas as suas assinaturas e suas IDs executando az account list de outra linha de comando.
    Grupo de recursos do Azure O nome do grupo de recursos do Azure a ser criado para o cluster do AKS.
    Região do Azure A região do Azure para o novo cluster do AKS (westus padrão).
    Tamanho do computador O tamanho do computador a ser usado para os nós no cluster do AKS (Standard_D16s_v3 padrão).
    Nó de trabalho O número de nós de trabalho no cluster do AKS (1 padrão).
    Nome do cluster O nome do cluster do AKS e do cluster de Big Data. O nome do cluster de Big Data deve ter apenas caracteres alfanuméricos minúsculos e nenhum espaço. (sqlbigdata padrão).
    Senha Senha para o controlador, o gateway HDFS/Spark e a instância mestre (MySQLBigData2019 padrão).
    Nome de usuário Nome de usuário do controlador (padrão: admin).

    Importante

    O tamanho padrão do computador Standard_D16s_v3 pode não estar disponível em todas as regiões do Azure. Se você selecionar um tamanho de computador diferente, verifique se o número total de discos que podem ser anexados entre os nós no cluster é maior ou igual a 24. Cada declaração de volume persistente no cluster requer um disco anexado. Atualmente, o cluster de Big Data requer 24 declarações de volume persistente.

    Execute o comando a seguir para identificar os tipos de VM disponíveis.

    az vm list-sizes --query "sort_by(@,&name)[?contains(name,'Standard_D16s')]" -l westus2 -o table
    

    Observação

    A conta sa do SQL Server é desabilitada durante a implantação do cluster de Big Data. Um novo logon sysadmin é provisionado na instância mestra do SQL Server com o mesmo nome especificado para a entrada de Nome de usuário e a senha correspondente à entrada Senha. Os mesmos valores de Nome de usuário e Senha são usados para provisionar um usuário administrador do controlador. Em clusters implantados antes do SQL Server 2019 CU5, o único usuário compatível com o gateway (Knox) é raiz e a senha é a mesma que a apresentada acima.

    A partir do SQL Server 2019 (15.x) CU 5, quando você implanta um novo cluster com a autenticação básica, todos os pontos de extremidade, incluindo o gateway, usam AZDATA_USERNAME e AZDATA_PASSWORD. Os pontos de extremidade em clusters que são atualizados para CU 5 continuam usando root como o nome de usuário para se conectar ao ponto de extremidade do gateway. Essa alteração não se aplica às implantações que usam a autenticação do Active Directory. Confira Credenciais para acessar serviços por meio do ponto de extremidade do gateway nas notas sobre a versão.

  3. O script será iniciado criando um cluster do AKS usando os parâmetros especificados. Esta etapa demora vários minutos.

Monitorar o status

Depois que o script cria o cluster do AKS, ele continua a definir as variáveis de ambiente necessárias com as configurações especificadas anteriormente. Em seguida, ele chama azdata para implantar o cluster de Big Data no AKS.

A janela Comando do cliente produzirá o status da implantação. Durante o processo de implantação, você deverá ver uma série de mensagens em que ele está aguardando o pod do controlador:

2018-11-15 15:42:02.0209 UTC | INFO | Waiting for controller pod to be up...

Após 10 a 20 minutos, você deve ser notificado de que o pod do controlador está em execução:

2018-11-15 15:50:50.0300 UTC | INFO | Controller pod is running.
2018-11-15 15:50:50.0585 UTC | INFO | Controller Endpoint: https://111.111.111.111:30080

Importante

A implantação inteira pode ser muito demorada devido ao tempo necessário para baixar as imagens de contêiner para os componentes do cluster de Big Data. No entanto, não deve demorar várias horas. Se estiver encontrando problemas em sua implantação, confira Monitoramento e solução de problemas de Clusters de Big Data do SQL Server.

Inspecionar o cluster

A qualquer momento durante a implantação, você pode usar kubectl ou azdata para inspecionar o status e os detalhes sobre o cluster de Big Data em execução.

Usar kubectl

Abra uma nova janela Comando para usar kubectl durante o processo de implantação.

  1. Execute o seguinte comando para obter um resumo do status do cluster inteiro:

    kubectl get all -n <your-big-data-cluster-name>
    

    Dica

    Se você não alterou o nome do cluster de Big Data, o script usa sqlbigdata como padrão.

  2. Inspecione os serviços do Kubernetes e seus pontos de extremidade internos e externos com o seguinte comando kubectl:

    kubectl get svc -n <your-big-data-cluster-name>
    
  3. Você também pode inspecionar o status dos pods do Kubernetes com o seguinte comando:

    kubectl get pods -n <your-big-data-cluster-name>
    
  4. Saiba mais sobre um pod específico com o seguinte comando:

    kubectl describe pod <pod name> -n <your-big-data-cluster-name>
    

Dica

Para obter mais detalhes sobre como monitorar e solucionar problemas de implantação, confira Monitoramento e solução de problemas de Clusters de Big Data do SQL Server.

Conectar-se ao cluster

Quando o script de implantação for concluído, a saída notificará você sobre o sucesso:

2018-11-15 16:10:25.0583 UTC | INFO | Cluster state: Ready
2018-11-15 16:10:25.0583 UTC | INFO | Cluster deployed successfully.

O cluster de Big Data do SQL Server já está implantado no AKS. Agora você pode usar Azure Data Studio para se conectar ao cluster. Para obter mais informações, confira Conectar-se a um cluster de Big Data do SQL Server com o Azure Data Studio.

Limpar

Se você estiver testando Clusters de Big Data do SQL Server no Azure, deverá excluir o cluster do AKS quando terminar para evitar encargos inesperados. Não remova o cluster se pretender continuar a usá-lo.

Aviso

As etapas a seguir desmontam o cluster do AKS, que remove o cluster de Big Data do SQL Server também. Se você tiver bancos de dados ou dados do HDFS que deseja manter, faça backup desses dados antes de excluir o cluster.

Execute o seguinte comando da CLI do Azure para remover o cluster de Big Data e o serviço do AKS no Azure (substitua <resource group name> pelo grupo de recursos do Azure especificado no script de implantação):

az group delete -n <resource group name>