Redémarrer des machines virtuelles pour des clusters HDInsight
Les clusters Azure HDInsight contiennent des groupes de machines virtuelles en tant que nœuds de cluster. Pour les clusters durables, ces nœuds peuvent cesser de répondre pour différentes raisons. Cet article explique comment redémarrer des machines virtuelles qui ne répondent pas dans un cluster HDInsight.
Quand redémarrer
Avertissement
Lorsque vous redémarrez des machines virtuelles dans un cluster, le nœud est indisponible et les services du nœud doivent redémarrer.
Pendant le redémarrage d’un nœud, le cluster peut devenir non sain et les travaux peuvent ralentir ou échouer. Si vous essayez de redémarrer le nœud principal actif, tous les travaux en cours d’exécution seront arrêtés. Vous ne serez pas en mesure de soumettre des travaux au cluster tant que les services ne seront pas à nouveau opérationnels. Pour ces raisons, vous devez redémarrer les machines virtuelles uniquement lorsque cela est nécessaire. Envisagez de redémarrer les machines virtuelles dans les cas suivants :
- Vous ne pouvez pas utiliser le protocole SSH pour accéder au nœud, mais ce dernier répond aux tests Ping.
- Le nœud Worker est en panne sans pulsation dans l’interface utilisateur Ambari.
- Le disque temporaire est plein sur le nœud.
- Le tableau de processus sur la machine virtuelle a de nombreuses entrées pour lesquelles le processus est terminé, mais qui sont répertoriées sous « État arrêté ».
Notes
Si vous devez redémarrer un nœud Worker ou un nœud Zookeeper dans le cluster HBase ou Kafka, soyez prudent, car cela peut entraîner des problèmes de stabilité pendant un certain temps en fonction du dimensionnement du cluster et de la pression de la charge de travail. Le redémarrage du nœud Worker peut entraîner des mouvements de partition de région/rubrique inutiles. Même le redémarrage du nœud ZooKeeper peut entraîner une instabilité du cluster ZooKeper et provoquer un arrêt du serveur de région/répartiteur Kafka.
Dans la mesure du possible, arrêtez le service HBase/Kafka avant le redémarrage afin de réduire l’impact des nouvelles données écrites dans le cluster.
Utiliser PowerShell pour redémarrer des machines virtuelles
Deux étapes sont nécessaires pour utiliser l’opération de redémarrage de nœud : répertorier les nœuds et les redémarrer.
Répertorier les nœuds. Vous pouvez récupérer la liste des nœuds de cluster à l’aide de la commande Get-AzHDInsightHost.
Get-AzHDInsightHost -ClusterName myclustername
Redémarrez les ordinateurs hôtes. Après avoir obtenu le nom des nœuds que vous souhaitez redémarrer, redémarrez-les à l’aide de la commande Restart-AzHDInsightHost.
Restart-AzHDInsightHost -ClusterName myclustername -Name wn0-myclus, wn1-myclus
Notes
Le redémarrage des nœuds pour les types de cluster HBase et Kafka à l’aide de PowerShell n’est pas pris en charge.
Utiliser une API REST pour redémarrer des machines virtuelles
Vous pouvez utiliser la fonctionnalité Try it dans la documentation de l’API pour envoyer des requêtes à HDInsight. Deux étapes sont nécessaires pour utiliser l’opération de redémarrage de nœud : répertorier les nœuds et les redémarrer.
Répertorier les nœuds. Vous pouvez récupérer la liste des nœuds de cluster à partir de l’API REST ou de Ambari. Pour plus d’informations, consultez Opération de l’API REST Répertorier les hôtes HDInsight.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/listHosts?api-version=2018-06-01-preview
Redémarrez les ordinateurs hôtes. Après avoir obtenu le nom des nœuds que vous souhaitez redémarrer, utilisez l’API REST pour redémarrer les nœuds. Le nom du nœud suit le modèle NodeType(wn/hn/zk/gw/ib) + x + six premiers caractères du nom du cluster. Pour plus d’informations, consultez Opération de l’API REST Redémarrer des hôtes HDInsight.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/restartHosts?api-version=2018-06-01-preview
Les noms réels des nœuds que vous souhaitez redémarrer sont spécifiés dans un tableau JSON dans le corps de la demande.
[
"wn0-abcdef",
"zk1-abcdef"
]
Notes
Le redémarrage des nœuds pour les types de cluster HBase et Kafka à l’aide de l’API REST n’est pas pris en charge.