Reinicializar VMs para os clusters do HDInsight
Clusters do Azure HDInsight contêm grupos de VMs (máquinas virtuais) como nós de cluster. Para clusters de execução longa, esses nós podem ficar sem resposta por vários motivos. Este artigo descreve como reinicializar VMs sem resposta em um cluster HDInsight.
Quando reinicializar
Aviso
Quando você reinicializa as VMs em um cluster, o nó fica indisponível para uso e os serviços no nó devem ser reiniciados.
Quando um nó está reinicializando, o cluster pode se tornar não íntegro e os trabalhos podem ficar lentos ou falhar. Se você estiver tentando reinicializar o nó de cabeça ativo, todos os trabalhos em execução serão interrompidos. Você não poderá enviar trabalhos para o cluster até que os serviços sejam executados novamente. Por esses motivos, você deve reinicializar as VMs somente quando necessário. Considere reinicializar VMs quando:
- Não é possível usar o SSH para entrar no nó, mas ele responde aos pings.
- O nó de trabalho está inoperante sem pulsação na interface do usuário do Ambari.
- O disco temporário está cheio no nó.
- A tabela de processo na VM tem muitas entradas em que o processo foi concluído, mas está listada com "Estado encerrado".
Observação
Se você precisar reinicializar um nó de trabalho ou nó do ZooKeeper no cluster do HBase ou do Kafka, tenha cuidado, pois isso pode causar problemas de estabilidade por um tempo, dependendo do dimensionamento do cluster e da pressão da carga de trabalho. A reinicialização do nó de trabalho pode causar movimentos desnecessários de partição de região/tópico. Até mesmo a reinicialização do nó do ZooKeeper pode causar instabilidade no cluster do ZooKeper e, portanto, fazer com que o agente do servidor de região/Kafka fique inoperante.
Sempre que possível, o ideal é interromper o serviço HBase/Kafka antes da reinicialização para minimizar o impacto nos novos dados gravados no cluster.
Usar o PowerShell para reinicializar VMs
Duas etapas são necessárias para usar a operação de reinicialização de nó: listar nós e reiniciar nós.
Listar nós. Você pode obter a lista de nós de cluster em Get-AzHDInsightHost.
Get-AzHDInsightHost -ClusterName myclustername
Reiniciar hosts. Depois de obter os nomes dos nós que você deseja reinicializar, reinicie os nós usando Restart-AzHDInsightHost.
Restart-AzHDInsightHost -ClusterName myclustername -Name wn0-myclus, wn1-myclus
Observação
Não há suporte para reinicialização de nós para tipos de cluster do HBase e do Kafka usando o PowerShell.
Usar uma API REST para reinicializar VMs
Você pode usar o recurso eExperimentar no documento da API para enviar solicitações ao HDInsight. Duas etapas são necessárias para usar a operação de reinicialização de nó: listar nós e reiniciar nós.
Listar nós. Você pode obter a lista de nós de cluster da API REST ou no Ambari. Para obter mais informações, consulte Lista do HDInsight hospeda a operação da API REST.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/listHosts?api-version=2018-06-01-preview
Reiniciar hosts. Depois de obter os nomes dos nós que você deseja reinicializar, reinicie os nós usando REST API para reiniciar os nós. O nome do nó segue o padrão de NodeType(wn/hn/zk/gw/ib) + x + os primeiros seis caracteres do nome do cluster. Para obter mais informações, consulte Lista do HDInsight hospeda a operação da API REST.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/restartHosts?api-version=2018-06-01-preview
Os nomes reais dos nós que você deseja reinicializar são especificados em uma matriz JSON no corpo da solicitação.
[
"wn0-abcdef",
"zk1-abcdef"
]
Observação
Não há suporte para reinicialização de nós para tipos de cluster do HBase e do Kafka usando a API REST.