次の方法で共有


HDInsight クラスターの VM を再起動する

Azure HDInsight クラスターには、クラスター ノードとして仮想マシン (VM) のグループが含まれています。 実行時間の長いクラスターでは、さまざまな理由でこれらのノードが応答しなくなることがあります。 この記事では、HDInsight クラスター内の応答していない VM を再起動する方法について説明します。

再起動するタイミング

警告

クラスターで VM を再起動すると、ノードは使用できなくなり、ノード上のサービスは再起動する必要があります。

ノードの再起動中はクラスターが異常な状態になる場合があり、ジョブの速度が低下したり、ジョブが失敗したりする可能性があります。 アクティブなヘッド ノードを再起動しようとすると、実行中のすべてのジョブが停止します。 サービスが再起動されて実行中となるまで、クラスターにジョブを送信することはできません。 これらの理由から、必要な場合にのみ VM を再起動する必要があります。 次の場合に、VM の再起動を検討してください。

  • SSH を使用してノードにアクセスできないが、ping には応答する。
  • ワーカー ノードが停止していて、Ambari UI にハートビートが表示されない。
  • ノードの一時ディスクが満杯である。
  • VM 上のプロセス テーブルには、プロセスが完了しているエントリが多数あるが、"終了状態" と示されている。

注意

HBase または Kafka クラスターでワーカー ノードまたは zookeeper ノードを再起動する必要がある場合は、クラスターのサイズ設定とワークロードの負荷によっては、しばらくの間安定性の問題が発生する可能性があるため、注意してください。 ワーカー ノードを再起動すると、リージョンやトピック パーティションの不要な移動が発生する可能性があります。  ZooKeeper ノードの再起動でも ZooKeper クラスターが不安定になる可能性があるため、Region Server/Kafka ブローカーがダウンする可能性があります。 
クラスターに書き込まれた新しいデータへの影響を最小限に抑えるために、可能な限り、再起動の前に HBase/Kafka サービスを停止するのが理想的です。

PowerShell を使用して VM を再起動する

ノードの再起動操作を使用するには、ノードの一覧表示とノードの再起動という 2 つの手順が必要です。

  1. ノードを一覧表示します。 クラスター ノードの一覧を取得するには、Get-AzHDInsightHost を使用します。

    Get-AzHDInsightHost -ClusterName myclustername
    
  2. ホストを再起動します。 再起動するノードの名前を取得したら、Restart-AzHDInsightHost を使用してノードを再起動します。

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

Note

PowerShell を使用した HBase および Kafka クラスター型のノードの再起動はサポートされていません。

REST API を使用して VM を再起動する

API ドキュメントの使ってみる機能を使用して、HDInsight に要求を送信できます。 ノードの再起動操作を使用するには、ノードの一覧表示とノードの再起動という 2 つの手順が必要です。

  1. ノードを一覧表示します。 クラスター ノードの一覧は、REST API または Ambari から取得できます。 詳細については、HDInsight list hosts REST API の操作に関するページを参照してください。

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/listHosts?api-version=2018-06-01-preview
    
  2. ホストを再起動します。 再起動するノードの名前を取得したら、ノードを再起動する REST API を使用して、ノードを再起動します。 ノード名は、NodeType(wn/hn/zk/gw/id) + x + クラスター名の最初の 6 文字のパターンに従います。 詳細については、HDInsight restart hosts REST API の操作に関するページを参照してください。

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

再起動するノードの実際の名前は、要求本文の JSON 配列に指定されています。

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

Note

REST API を使用した HBase および Kafka クラスター型のノードの再起動はサポートされていません。

次のステップ