Operacionalizar o cluster do ML Services no Azure HDInsightOperationalize ML Services cluster on Azure HDInsight

Após usar o cluster do ML Services no HDInsight para concluir a modelagem de dados, você poderá operacionalizar o modelo para fazer previsões.After you have used ML Services cluster in HDInsight to complete your data modeling, you can operationalize the model to make predictions. Esse artigo fornece instruções sobre como fazer essa tarefa.This article provides instructions on how to perform this task.

Pré-requisitosPrerequisites

Operacionalizar o cluster do ML Services com configuração de uma caixaOperationalize ML Services cluster with one-box configuration

Observação

As etapas abaixo aplicam-se ao Microsoft R Server 9.0 e ML Server 9.1.The steps below are applicable to R Server 9.0 and ML Server 9.1. Para o ML Server 9.3, consulte Usar a ferramenta de administração para gerenciar a configuração de operacionalização.For ML Server 9.3, refer to Use the administration tool to manage the operationalization configuration.

  1. SSH no nó de borda.SSH into the edge node.

     ssh USERNAME@CLUSTERNAME-ed-ssh.azurehdinsight.net
    

    Para obter instruções sobre como usar SSH com o Azure HDInsight, consulte usar SSH com HDInsight..For instructions on how to use SSH with Azure HDInsight, see Use SSH with HDInsight..

  2. Altere o diretório para a versão relevante e sudo do dll dot net:Change directory for the relevant version and sudo the dot net dll:

    • Para Microsoft ML Server 9.1:For Microsoft ML Server 9.1:

        cd /usr/lib64/microsoft-r/rserver/o16n/9.1.0
        sudo dotnet Microsoft.RServer.Utils.AdminUtil/Microsoft.RServer.Utils.AdminUtil.dll
      
    • Para o Microsoft R Server 9.0:For Microsoft R Server 9.0:

        cd /usr/lib64/microsoft-deployr/9.0.1
        sudo dotnet Microsoft.DeployR.Utils.AdminUtil/Microsoft.DeployR.Utils.AdminUtil.dll
      
  3. São apresentadas as opções para escolher.You are presented with the options to choose from. Escolha a primeira opção, conforme mostrado na captura de tela a seguir, para Configurar o ML Server para operacionalização.Choose the first option, as shown in the following screenshot, to Configure ML Server for Operationalization.

    operações de uma caixa

  4. Agora, é possível escolher como você quer operacionalizar o ML Server.You are now presented with the option to choose how you want to operationalize ML Server. A partir das opções apresentadas, escolha a primeiro inserindo A.From the presented options, choose the first one by entering A.

    operações de uma caixa

  5. Quando solicitado, digite e insira novamente a senha para um usuário de administrador local.When prompted, enter and reenter the password for a local admin user.

  6. Você deve ver sugestões de saídas que a operação foi bem-sucedida.You should see outputs suggesting that the operation was successful. Você também precisará selecionar outra opção de menu.You are also prompted to select another option from the menu. Selecione E para retornar ao menu principal.Select E to go back to the main menu.

    operações de uma caixa

  7. Como opção, você pode executar verificações de diagnóstico com um teste de diagnóstico da seguinte forma:Optionally, you can perform diagnostic checks by running a diagnostic test as follows:

    a.a. No menu principal, selecione 6 para executar testes de diagnóstico.From the main menu, select 6 to run diagnostic tests.

    operações de uma caixa

    b.b. No menu de Testes de Diagnóstico, selecione A. Quando solicitado, insira a senha que você forneceu para o usuário de administrador local.From the Diagnostic Tests menu, select A. When prompted, enter the password that you provided for the local admin user.

    operações de uma caixa

    c.c. Verifique se a saída mostra que a integridade geral é uma passagem.Verify that the output shows that overall health is a pass.

    operações de uma caixa

    d.d. Nas opções de menu apresentadas, insira E para retornar ao menu principal e, em seguida, digite 8 para sair do utilitário de administração.From the menu options presented, enter E to return to the main menu and then enter 8 to exit the admin utility.

Atrasos longos ao consumir um serviço web no Apache SparkLong delays when consuming web service on Apache Spark

Se você tiver longos atrasos ao tentar consumir um serviço web criado com as funções mrsdeploy no contexto de computação do Apache Spark, talvez seja necessário adicionar algumas pastas ausentes.If you encounter long delays when trying to consume a web service created with mrsdeploy functions in an Apache Spark compute context, you may need to add some missing folders. O aplicativo Spark pertence a um usuário chamado 'rserve2' sempre que ele é chamado de um serviço web usando as funções mrsdeploy.The Spark application belongs to a user called 'rserve2' whenever it is invoked from a web service using mrsdeploy functions. Para resolver o problema:To work around this issue:

# Create these required folders for user 'rserve2' in local and hdfs:

hadoop fs -mkdir /user/RevoShare/rserve2
hadoop fs -chmod 777 /user/RevoShare/rserve2

mkdir /var/RevoShare/rserve2
chmod 777 /var/RevoShare/rserve2


# Next, create a new Spark compute context:

rxSparkConnect(reset = TRUE)

Nesse estágio, a configuração de operacionalização foi concluída.At this stage, the configuration for operationalization is complete. Agora, você pode usar o pacote mrsdeployem seu RClient para conectar a operacionalização no nó de borda e começar a usar seus recursos como a execução remota e os serviços web.Now you can use the mrsdeploy package on your RClient to connect to the operationalization on edge node and start using its features like remote execution and web-services. A depender se o cluster está configurado em uma rede virtual ou não, você pode precisar configurar o túnel de encaminhamento da porta por meio de logon de SSH.Depending on whether your cluster is set up on a virtual network or not, you may need to set up port forward tunneling through SSH login. As seções a seguir explicam como configurar esse túnel.The following sections explain how to set up this tunnel.

Cluster do ML Service na rede virtualML Services cluster on virtual network

Lembre-se de permitir o tráfego pela porta 12800 para o nó de borda.Make sure you allow traffic through port 12800 to the edge node. Dessa forma, você pode usar o nó de borda para se conectar ao recurso de operacionalização.That way, you can use the edge node to connect to the Operationalization feature.

library(mrsdeploy)

remoteLogin(
    deployr_endpoint = "http://[your-cluster-name]-ed-ssh.azurehdinsight.net:12800",
    username = "admin",
    password = "xxxxxxx"
)

Se o remoteLogin() não puder se conectar ao nó de borda, mas for possível executar o SSH para o nó de borda, você precisará verificar se a regra que permite o tráfego na porta 12800 foi configurada corretamente.If the remoteLogin() cannot connect to the edge node, but you can SSH to the edge node, then you need to verify whether the rule to allow traffic on port 12800 has been set properly or not. Caso o problema persista, você pode usar uma solução alternativa configurando o túnel de encaminhamento da porta por meio de SSH.If you continue to face the issue, you can work around it by setting up port forward tunneling through SSH. Para obter instruções, consulte a seção a seguir:For instructions, see the following section:

Cluster do ML Services não configurado na rede virtualML Services cluster not set up on virtual network

Se o cluster não estiver configurado na rede virtual ou se você estiver tendo problemas com a conectividade por meio da rede virtual, use o túnel SSH de encaminhamento da porta:If your cluster is not set up on vnet or if you are having troubles with connectivity through vnet, you can use SSH port forward tunneling:

ssh -L localhost:12800:localhost:12800 USERNAME@CLUSTERNAME-ed-ssh.azurehdinsight.net

Depois que a sessão SSH estiver ativa, o tráfego da porta local 12800 da máquina será encaminhado para a porta 12800 do nó de borda por meio de uma sessão SSH.Once your SSH session is active, the traffic from your local machine's port 12800 is forwarded to the edge node's port 12800 through SSH session. Use 127.0.0.1:12800 no seu método remoteLogin().Make sure you use 127.0.0.1:12800 in your remoteLogin() method. Isso faz logon na operacionalização do nó de borda por meio do encaminhamento de porta.This logs into the edge node's operationalization through port forwarding.

library(mrsdeploy)

remoteLogin(
    deployr_endpoint = "http://127.0.0.1:12800",
    username = "admin",
    password = "xxxxxxx"
)

Nós de computação operacional de dimensionamento nos nós de trabalho do HDInsightScale operationalized compute nodes on HDInsight worker nodes

Para expandir os nós de computação, desativa os nós de trabalho e, em seguida, configure os nós de computação nos nós de trabalho desativados.To scale the compute nodes, you first decommission the worker nodes and then configure compute nodes on the decommissioned worker nodes.

Etapa 1: Desativar os nós de trabalhoStep 1: Decommission the worker nodes

O cluster do ML Services não é gerenciado pelo Apache Hadoop YARN.ML Services cluster is not managed through Apache Hadoop YARN. Se os nós de trabalho não forem encerrados, o Gerenciador de Recursos YARN não funcionará como esperado porque não estará ciente dos recursos consumidos pelo servidor.If the worker nodes are not decommissioned, the YARN Resource Manager does not work as expected because it is not aware of the resources being taken up by the server. Para evitar essa situação,recomendamos desativar os nós de trabalho antes de expandir os nós de computação.In order to avoid this situation, we recommend decommissioning the worker nodes before you scale out the compute nodes.

Siga estas etapas para desativar os nós de trabalho:Follow these steps to decommission worker nodes:

  1. Faça logon no console de Ambari do cluster e clique na guia Hosts.Log in to the cluster's Ambari console and click on Hosts tab.

  2. Selecione nós de trabalho (para ser desativado).Select worker nodes (to be decommissioned).

  3. Clique em Ações > Hosts Selecionados > Hosts > Ativar o modo de manutenção.Click Actions > Selected Hosts > Hosts > Turn ON Maintenance Mode. Por exemplo, na imagem a seguir, selecionamos wn3 e wn4 para desativar.For example, in the following image we have selected wn3 and wn4 to decommission.

    encerrar nós de trabalho

  • Selecione Ações > Hosts Selecionados > DataNodes > clique em DesativarSelect Actions > Selected Hosts > DataNodes > click Decommission.
  • Selecione Ações > Hosts Selecionados > NodeManagers > clique em DesativarSelect Actions > Selected Hosts > NodeManagers > click Decommission.
  • Selecione Ações > Hosts Selecionados > DataNodes > clique em PararSelect Actions > Selected Hosts > DataNodes > click Stop.
  • Selecione Ações > Hosts Selecionados > NodeManagers > clique em PararSelect Actions > Selected Hosts > NodeManagers > click on Stop.
  • Selecione Ações > Hosts Selecionados > Hosts > clique em Parar Todos os ComponentesSelect Actions > Selected Hosts > Hosts > click Stop All Components.
  • Desmarque os nós de trabalho e selecione os nós de cabeçalho.Unselect the worker nodes and select the head nodes.
  • Selecione Ações > Hosts selecionados > "Hosts > Reiniciar Todos os Componentes.Select Actions > Selected Hosts > "Hosts > Restart All Components.

Etapa 2: Configurar nós de computação em cada nó de trabalho encerradoStep 2: Configure compute nodes on each decommissioned worker node(s)

  1. SSH em cada nó de trabalho desativado.SSH into each decommissioned worker node.

  2. Execute o utilitário admin usando a DLL relevante para o cluster do ML Services existente.Run admin utility using the relevant DLL for the ML Services cluster that you have. Para ML Server 9.1, execute o seguinte:For ML Server 9.1, run the following:

     dotnet /usr/lib64/microsoft-deployr/9.0.1/Microsoft.DeployR.Utils.AdminUtil/Microsoft.DeployR.Utils.AdminUtil.dll
    
  3. Insira 1 para selecionar a opção Configurar o ML Server para operacionalização.Enter 1 to select option Configure ML Server for Operationalization.

  4. Insira C para selecionar a opção C. Compute node.Enter C to select option C. Compute node. Isso configura o nó de computação no nó de trabalho.This configures the compute node on the worker node.

  5. Saia do utilitário de administração.Exit the Admin Utility.

Etapa 3: Adicionar detalhes de nós de computação no nó da WebStep 3: Add compute nodes details on web node

Depois que todos os nós de trabalho encerrados forem configurados para executar o nó de computação, volte ao nó de borda e adicione os endereços IP dos nós de trabalho encerrados na configuração do nó de web do ML Server:Once all decommissioned worker nodes are configured to run compute node, come back on the edge node and add decommissioned worker nodes' IP addresses in the ML Server web node's configuration:

  1. SSH no nó de borda.SSH into the edge node.

  2. Execute vi /usr/lib64/microsoft-deployr/9.0.1/Microsoft.DeployR.Server.WebAPI/appsettings.json.Run vi /usr/lib64/microsoft-deployr/9.0.1/Microsoft.DeployR.Server.WebAPI/appsettings.json.

  3. Procure a seção "URIs" e adicione o IP do nó de trabalho e detalhes de porta.Look for the "Uris" section, and add worker node's IP and port details.

    "Uris": {
      "Description": "Update 'Values' section to point to your backend machines. Using HTTPS is highly recommended",
      "Values": [
        "http://localhost:12805", "http://[worker-node1-ip]:12805", "http://[workder-node2-ip]:12805"
      ]
    }
    

Próximas etapasNext steps