Udostępnij za pośrednictwem


Ponowne uruchamianie maszyn wirtualnych dla klastrów usługi HDInsight

Klastry usługi Azure HDInsight zawierają grupy maszyn wirtualnych jako węzły klastra. W przypadku długotrwałych klastrów te węzły mogą nie odpowiadać z różnych powodów. W tym artykule opisano sposób ponownego uruchamiania nieodpowiadanych maszyn wirtualnych w klastrze usługi HDInsight.

Kiedy należy ponownie uruchomić

Ostrzeżenie

Po ponownym uruchomieniu maszyn wirtualnych w klastrze węzeł jest niedostępny do użycia, a usługi w węźle muszą zostać ponownie uruchomione.

Po ponownym uruchomieniu węzła klaster może stać się w złej kondycji, a zadania mogą spowolnić lub zakończyć się niepowodzeniem. Jeśli próbujesz ponownie uruchomić aktywny węzeł główny, wszystkie uruchomione zadania zostaną zatrzymane. Nie będzie można przesyłać zadań do klastra, dopóki usługi nie zostaną uruchomione ponownie. Z tych powodów należy ponownie uruchomić maszyny wirtualne tylko wtedy, gdy jest to konieczne. Rozważ ponowne uruchomienie maszyn wirtualnych, gdy:

  • Nie można użyć protokołu SSH do wejścia do węzła, ale odpowiada na polecenia ping.
  • Węzeł roboczy nie działa bez pulsu w interfejsie użytkownika systemu Ambari.
  • Dysk tymczasowy jest pełny w węźle.
  • Tabela procesów na maszynie wirtualnej zawiera wiele wpisów, w których proces został ukończony, ale znajduje się na liście "Stan zakończony".

Uwaga

Jeśli musisz ponownie uruchomić węzeł roboczy lub węzeł zookeeper w klastrze HBase lub Kafka, należy zachować ostrożność, ponieważ może to spowodować problemy ze stabilnością przez pewien czas w zależności od rozmiaru klastra i ciśnienia obciążenia. Ponowne uruchomienie węzła procesu roboczego może spowodować niepotrzebne przenoszenie partycji w regionie/temacie.  Nawet ponowne uruchomienie węzła usługi ZooKeeper może spowodować niestabilność klastra ZooKeper, dlatego może spowodować awarię brokera Region Server/Kafka. 
Najlepiej, jeśli to możliwe, zatrzymaj usługę HBase/Kafka przed ponownym uruchomieniem, aby zminimalizować wpływ nowych danych zapisanych w klastrze.

Ponowne uruchamianie maszyn wirtualnych przy użyciu programu PowerShell

Do korzystania z operacji ponownego uruchamiania węzła wymagane są dwa kroki: wyświetlanie listy węzłów i ponowne uruchamianie węzłów.

  1. Wyświetl listę węzłów. Listę węzłów klastra można uzyskać na stronie Get-AzHDInsightHost.

    Get-AzHDInsightHost -ClusterName myclustername
    
  2. Uruchom ponownie hosty. Po pobraniu nazw węzłów, które chcesz ponownie uruchomić, uruchom ponownie węzły przy użyciu polecenia Restart-AzHDInsightHost.

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

Uwaga

Ponowne uruchamianie węzłów dla typów klastrów HBase i Kafka przy użyciu programu PowerShell nie jest obsługiwane.

Ponowne uruchamianie maszyn wirtualnych przy użyciu interfejsu API REST

Możesz użyć funkcji Wypróbuj w życiora interfejsu API, aby wysyłać żądania do usługi HDInsight. Do korzystania z operacji ponownego uruchamiania węzła wymagane są dwa kroki: wyświetlanie listy węzłów i ponowne uruchamianie węzłów.

  1. Wyświetl listę węzłów. Listę węzłów klastra można pobrać z interfejsu API REST lub w systemie Ambari. Aby uzyskać więcej informacji, zobacz Temat Lista hostów interfejsu API REST usługi HDInsight.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/listHosts?api-version=2018-06-01-preview
    
  2. Uruchom ponownie hosty. Po pobraniu nazw węzłów, które chcesz ponownie uruchomić, uruchom ponownie węzły przy użyciu interfejsu API REST, aby ponownie uruchomić węzły. Nazwa węzła jest zgodna ze wzorcem NodeType(wn/hn/zk/gw/ib) + x + pierwszych sześciu znaków nazwy klastra. Aby uzyskać więcej informacji, zobacz Operacje ponownego uruchamiania hostów usługi HDInsight hostów interfejsu API REST.

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

Rzeczywiste nazwy węzłów, które chcesz ponownie uruchomić, są określone w tablicy JSON w treści żądania.

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

Uwaga

Ponowne uruchamianie węzłów dla typów klastrów HBase i Kafka przy użyciu interfejsu API REST nie jest obsługiwane.

Następne kroki