Compartir a través de


Reinicio de máquinas virtuales para los clústeres de HDInsight

Los clústeres de Azure HDInsight contienen grupos de máquinas virtuales (VM) como nodos de clúster. En el caso de los clústeres de larga duración, es posible que estos nodos dejen de responder por diversas razones. En este artículo, se describe cómo reiniciar máquinas virtuales que no respondan en un clúster de HDInsight.

Cuándo hay que reiniciar

Advertencia

Cuando se reinician las máquinas virtuales de un clúster, el nodo no está disponible para su uso y los servicios del nodo deben reiniciarse.

Mientras el nodo se reinicia, el clúster puede pasar a un estado incorrecto, y que los trabajos se ralenticen o se produzca un error en ellos. Si intenta reiniciar el nodo principal activo, se detendrán todos los trabajos en ejecución. No podrá enviar trabajos al clúster hasta que los servicios estén de nuevo en funcionamiento. Por estos motivos, solo debe reiniciar las máquinas virtuales cuando sea necesario. Considere la posibilidad de reiniciar las máquinas virtuales cuando:

  • No se puede usar SSH para entrar en el nodo, pero este responde a los pings.
  • El nodo de trabajo está fuera de servicio sin latido en la interfaz de usuario de Ambari.
  • El disco temporal está lleno en el nodo.
  • La tabla de procesos de la máquina virtual tiene muchas entradas en las que el proceso se ha completado, pero aparece con el estado "Finalizado".

Nota

Si debe reiniciar un nodo de trabajo o un nodo zookeeper en el clúster HBase o Kafka, tenga cuidado, ya que puede causar problemas de estabilidad durante algún tiempo en función del dimensionamiento del clúster y la presión de la carga de trabajo. Reiniciar el nodo de trabajo puede provocar movimientos innecesarios de particiones de región o tema.  Incluso el reinicio del nodo ZooKeeper puede provocar inestabilidad en el clúster de ZooKeper, por lo que puede provocar que el agente de Region Server o Kafka deje de funcionar. 
Lo ideal sería que siempre que sea posible, detenga el servicio HBase o Kafka antes del reinicio para minimizar el impacto de los nuevos datos escritos en el clúster.

Uso de PowerShell para reiniciar máquinas virtuales

Para la operación de reinicio del nodo se requieren dos pasos: enumerar los nodos y reiniciarlos.

  1. Enumerar los nodos. Puede obtener la lista de nodos de clúster en Get-AzHDInsightHost.

    Get-AzHDInsightHost -ClusterName myclustername
    
  2. Reiniciar los hosts. Después de obtener los nombres de los nodos que desea reiniciar, reinicie los nodos mediante Restart-AzHDInsightHost.

    Restart-AzHDInsightHost -ClusterName myclustername -Name wn0-myclus, wn1-myclus
    

Nota

No se admite el reinicio de nodos para los tipos de clúster de HBase y Kafka mediante PowerShell.

Uso de la API de REST para reiniciar máquinas virtuales

Puede usar la característica Probar en el documento de la API para enviar solicitudes a HDInsight. Para la operación de reinicio del nodo se requieren dos pasos: enumerar los nodos y reiniciarlos.

  1. Enumerar los nodos. Puede obtener la lista de nodos de clúster en la API REST o en Ambari. Para más información, consulte Operación de enumeración de host HDInsight de la API de REST.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/listHosts?api-version=2018-06-01-preview
    
  2. Reiniciar los hosts. Después de obtener los nombres de los nodos que desea reiniciar, reinicie los nodos mediante la API de REST. El nombre del nodo sigue el patrón NodeType (wn/hn/zk/gw/ib) + x + los seis primeros caracteres del nombre del clúster. Para más información, consulte Operación de reinicio de hosts HDInsight de la API REST.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/restartHosts?api-version=2018-06-01-preview
    

Los nombres reales de los nodos que desea reiniciar se especifican en una matriz JSON en el cuerpo de la solicitud.

[
  "wn0-abcdef",
  "zk1-abcdef"
]

Nota

No se admite el reinicio de nodos para los tipos de clúster de HBase y Kafka mediante la API de REST.

Pasos siguientes