

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EMR で異常なノードを置き換える
<a name="emr-plan-node-replacement"></a>

Amazon EMR は、定期的に Apache Hadoop の [NodeManager ヘルスチェッカーサービス](https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/NodeManager.html#Health_checker_service)を使用して、Amazon EC2 での Amazon EMR クラスターのコアノードのステータスをモニタリングします。ノードが機能的に最適でない場合、ノードは異常とマークされ、ヘルスチェッカーはそのノードを Amazon EMR コントローラーに報告します。Amazon EMR コントローラーはノードを拒否リストに追加し、ノードのステータスが改善するまで、ノードが新しい YARN アプリケーションを受信できなくなります。

**注記**  
ノードが異常になる一般的な原因は、ディスク容量が不足していることです。コアノードのディスク容量がほぼ不足している場合の詳細については、**re:Post Knowledge Center** の記事を参照してください: 「[Why is the core node in my Amazon EMR cluster running out of disk space?](https://repost.aws/knowledge-center/core-node-emr-cluster-disk-space)」 

**注記**  
Hadoop では、カスタマイズされたノードヘルスチェックを実行できます。これは、[NodeManager](https://hadoop.apache.org/docs/r3.3.2/hadoop-yarn/hadoop-yarn-site/NodeManager.html) の Apache Hadoop ドキュメントで詳しく説明されています。

Amazon EMR が異常なノードを終了するか、クラスターに保持するかを選択できます。異常なノードの交換をオフにすることにより、それらは拒否リストに残り、引き続きクラスター容量にカウントされます。引き続き設定と復旧のために Amazon EC2 のコアインスタンスに接続し、クラスターのサイズを変更してキャパシティを追加できます。ノードの交換と終了の仕組みの詳細については、「[Using termination protection](https://docs.aws.amazon.com/emr/latest/ManagementGuide/UsingEMR_TerminationProtection.html)」を参照してください。

異常なノード置換がオンの場合、Amazon EMR は異常なコアノードを終了し、インスタンスグループのインスタンス数またはインスタンスフリートのターゲット容量に基づいて新しいインスタンスをプロビジョニングします。コアノードが 45 分以上異常である場合、Amazon EMR は[ノードを正常に置き換えます。](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-scaledown-behavior.html#emr-scaledown-terminate-task)ノードの正常な廃止が 1 時間以内に完了しない場合、ノードは強制的に終了します。ただし、終了することにより、クラスターがレプリケーション係数または HDFS 容量の制約を下回る場合は除きます。

**重要**  
ノードが正常に廃止または終了されるまでにかかる時間は変更される可能性があることに注意してください。  
異常なノード置換はデータ損失の可能性を大幅に軽減しますが、リスクを完全に排除するわけではありません。HDFS データは、異常なコアインスタンスの正常な置き換え中に完全に失われる可能性があります。常にデータをバックアップすることをお勧めします。

異常な状態のノードを特定して復旧する方法の詳細については、「[Resource errors](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-troubleshoot-error-resource.html)」を参照してください。さらに、クラスターの状態を維持するために従うことができるその他のベストプラクティスについては、[Amazon EMR クラスターが NO\$1SLAVE\$1LEFT とコアノード FAILED\$1BY\$1MASTER で終了](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-cluster-NO_SLAVE_LEFT-FAILED_BY_MASTER.html)するリソースエラーに関する以下のドキュメントを参照してください。

Amazon EMR は、異常なノード置換のために Amazon CloudWatch Events を発行するため、異常なコアインスタンスで何が起こっているかを追跡できます。詳細については、「[unhealthy node replacement events](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-manage-cloudwatch-events.html#emr-cloudwatch-unhealthy-node-replacement-events)」を参照してください。

## デフォルトのノード置換と終了の保護設定
<a name="emr-plan-node-replacement-defaults"></a>

異常なノード置換はすべての Amazon EMR リリースで使用できますが、デフォルト設定は選択したリリースラベルによって異なります。これらの設定は、新しいクラスターを作成するときに異常なノード置換を設定するか、いつでもクラスター設定に移動することで変更できます。

Amazon EMR リリース 7.0 以下を実行している単一ノードクラスターまたは高可用性クラスターを作成する場合、異常なノード置換のデフォルト設定は終了保護によって異なります。
+ 終了保護を有効にすると、異常なノード置換が**無効**になります。
+ 終了保護を無効にすると、異常なノード置換が**有効**になります。

## クラスターの起動時に異常なノードを設定する
<a name="emr-plan-node-replacement-create-cluster"></a>

コンソール、、または API を使用してクラスターを起動するときに、異常なノード置換を有効 AWS CLIまたは無効にできます。

デフォルトの異常なノード置換設定は、クラスターの起動方法によって異なります。
+ Amazon EMR コンソール — 異常なノード置換はデフォルトで**有効**になっています。
+ AWS CLI `aws emr create-cluster` — を指定しない限り、異常なノード置換はデフォルトで**有効**になっています`--no-unhealthy-node-replacement`。
+ Amazon EMR [RunJobFlow API コマンド](https://docs.aws.amazon.com/emr/latest/APIReference/API_RunJobFlow.html) — `UnhealthyNodeReplacement` ブール値を `True` または `False` に設定しない限り、異常なノード置換はデフォルトで**有効**になっています。

------
#### [ Console ]

**コンソールでクラスターを作成するときに異常なノード置換をオンまたはオフにするには**

1. にサインインし AWS マネジメントコンソール、[https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr) で Amazon EMR コンソールを開きます。

1. 左側のナビゲーションペインの **[EMR on EC2]** で、**[クラスター]** を選択し、**[クラスターの作成]** を選択します

1. **[EMR リリースバージョン]** では、必要な Amazon EMR リリースラベルを選択します。

1. **[クラスターの終了とノードの置換]** で、**[Unhealthy node replacement (recommended)]** があらかじめ選択されていることを確認するか、選択を解除して無効にします。

1. クラスターに適用するその他のオプションを選択します。

1. クラスターを起動するには、**[クラスターの作成]** を選択します。

------
#### [ AWS CLI ]

**を使用してクラスターを作成するときに異常なノード交換をオンまたはオフにするには AWS CLI**
+ を使用すると AWS CLI、 `--unhealthy-node-replacement `パラメータを指定して `create-cluster` コマンドを使用して、異常なノード置換を有効にしたクラスターを起動できます。異常なノード置換はデフォルトでオンになっています。

  次の例では、異常なノード置換を有効にしたクラスターを作成します。
**注記**  
読みやすくするために、Linux 行連続文字 (\$1) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

  ```
  aws emr create-cluster --name "SampleCluster" --release-label emr-7.12.0 \
  --applications Name=Hadoop Name=Hive Name=Pig \
  --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \
  --instance-count 3 --unhealthy-node-replacement
  ```

  での Amazon EMR コマンドの使用の詳細については AWS CLI、[「Amazon EMR AWS CLI コマンド](https://docs.aws.amazon.com//cli/latest/reference/emr)」を参照してください。

------

## 実行中のクラスターに異常なノード置換を設定する
<a name="emr-plan-node-replacement-running-cluster"></a>

コンソール、、または API を使用して、実行中のクラスターで異常なノード置換をオン AWS CLIまたはオフにできます。

------
#### [ Console ]

**コンソールで実行中のクラスターで異常なノード交換をオンまたはオフにするには**

1. にサインインし AWS マネジメントコンソール、[https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr) で Amazon EMR コンソールを開きます。

1. 左側のナビゲーションペインの **[EMR on EC2]** で **[クラスター]** を選択し、更新するクラスターを選択します。

1. クラスターの詳細ページの **[プロパティ]** タブで、**[クラスターの終了とノードの置換]** を見つけて **[編集]** を選択します。

1. **[異常なノードの置換]** チェックボックスを選択または解除して、機能をオンまたはオフにします。次に **[変更の保存]** を選択して確定します。

------
#### [ AWS CLI ]

**を使用して実行中のクラスターで異常なノード置換をオンまたはオフにするには AWS CLI**
+  AWS CLIで実行中のクラスターで異常なノード置換を有効にするには、`--unhealthy-node-replacement` パラメータと `modify-cluster-attributes` コマンドを使用します。削除保護を無効にするには、`--no-unhealthy-node-replacement` パラメータを使用します。

  次の例では、ID *j-3KVTXXXXXX7UG* のクラスターで異常なノード置換をオンにします。

  ```
  1. aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --unhealthy-node-replacement
  ```

  次の例では、同じクラスターで異常なノード置換をオフにします。

  ```
  1. aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-unhealthy-node-replacement
  ```

------