

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

# Amazon EMR とアプリケーションプロセス (デーモン) を表示して再起動する
<a name="emr-process-restart-stop-view"></a>

クラスターのトラブルシューティング中に、実行中のプロセスのリストを確認する必要があることがあります。プロセスの停止または再起動が必要な場合もあるでしょう 例えば、設定を変更した後や、ログファイルとエラーメッセージの分析後に特定のプロセスの問題に気付いた後などにプロセスを再起動できます。

クラスターで実行される 2 つの種類のプロセスがあります。Amazon EMR プロセス (インスタンスコントローラー、ログプッシャーなど) と、クラスターにインストールされているアプリケーションに関連付けられているプロセス (hadoop-hdfs-namenode、hadoop-yarn-resourcemanager など) です。

クラスター上のプロセスを直接操作するには、まずマスターノードに接続する必要があります。詳細については、「[Amazon EMR クラスターに接続する](emr-connect-master-node.md)」を参照してください。

## 実行中のプロセスの表示
<a name="emr-process-view"></a>

クラスターで実行中のプロセスを表示するために使用する方法は、使用する Amazon EMR のバージョンによって異なります。

------
#### [ EMR 5.30.0 and 6.0.0 and later ]

**Example : 実行中のすべてのプロセスを一覧表示する**  
次の例では `systemctl` を使用し、`--type` を指定して、すべてのプロセスを表示します。  

```
systemctl --type=service
```

**Example : 特定のプロセスを一覧表示する**  
次の例では、`hadoop` を含む名前を持つすべてのプロセスを一覧表示します。  

```
systemctl --type=service | grep -i hadoop
```
出力の例:  

```
 hadoop-hdfs-namenode.service           loaded active running Hadoop namenode
 hadoop-httpfs.service                  loaded active running Hadoop httpfs
 hadoop-kms.service                     loaded active running Hadoop kms
 hadoop-mapreduce-historyserver.service loaded active running Hadoop historyserver
 hadoop-state-pusher.service            loaded active running Daemon process that processes and serves EMR metrics data.
 hadoop-yarn-proxyserver.service        loaded active running Hadoop proxyserver
 hadoop-yarn-resourcemanager.service    loaded active running Hadoop resourcemanager
 hadoop-yarn-timelineserver.service     loaded active running Hadoop timelineserver
```

**Example : 特定のプロセスの詳細なステータスレポートを表示する**  
次の例では、`hadoop-hdfs-namenode` サービスの詳細なステータスレポートを表示します。  

```
sudo systemctl status hadoop-hdfs-namenode
```
出力の例:  

```
hadoop-hdfs-namenode.service - Hadoop namenode
   Loaded: loaded (/etc/systemd/system/hadoop-hdfs-namenode.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-08-18 21:01:46 UTC; 26min ago
 Main PID: 9733 (java)
    Tasks: 0
   Memory: 1.1M
   CGroup: /system.slice/hadoop-hdfs-namenode.service
           ‣ 9733 /etc/alternatives/jre/bin/java -Dproc_namenode -Xmx1843m -server -XX:OnOutOfMemoryError=kill -9 %p ...

Aug 18 21:01:37 ip-172-31-20-123 systemd[1]: Starting Hadoop namenode...
Aug 18 21:01:37 ip-172-31-20-123 su[9715]: (to hdfs) root on none
Aug 18 21:01:37 ip-172-31-20-123 hadoop-hdfs-namenode[9683]: starting namenode, logging to /var/log/hadoop-hdfs/ha...out
Aug 18 21:01:46 ip-172-31-20-123 hadoop-hdfs-namenode[9683]: Started Hadoop namenode:[  OK  ]
Aug 18 21:01:46 ip-172-31-20-123 systemd[1]: Started Hadoop namenode.
Hint: Some lines were ellipsized, use -l to show in full.
```

------
#### [ EMR 4.x - 5.29.0 ]

**Example : 実行中のすべてのプロセスを一覧表示する**  
次の例では、実行中のすべてのプロセスを一覧表示します。  

```
initctl list
```

------
#### [ EMR 2.x - 3.x ]

**Example : 実行中のすべてのプロセスを一覧表示する**  
次の例では、実行中のすべてのプロセスを一覧表示します。  

```
ls /etc/init.d/
```

------

## プロセスの停止と再起動
<a name="emr-process-restart"></a>

実行中のプロセスを確認してから、必要に応じてそれらを停止して再起動できます。

------
#### [ EMR 5.30.0 and 6.0.0 and later ]

**Example : プロセスを停止する**  
次の例では、`hadoop-hdfs-namenode` プロセスを停止します。  

```
sudo systemctl stop hadoop-hdfs-namenode
```
`status` に対してクエリを実行して、プロセスが停止したことを確認できます。  

```
sudo systemctl status hadoop-hdfs-namenode
```
出力の例:  

```
hadoop-hdfs-namenode.service - Hadoop namenode
  Loaded: loaded (/etc/systemd/system/hadoop-hdfs-namenode.service; enabled; vendor preset: disabled)
  Active: failed (Result: exit-code) since Wed 2021-08-18 21:37:50 UTC; 8s ago
Main PID: 9733 (code=exited, status=143)
```

**Example : プロセスを開始する**  
次の例では、`hadoop-hdfs-namenode` プロセスを開始します。  

```
sudo systemctl start hadoop-hdfs-namenode
```
ステータスのクエリを実行して、プロセスが実行中になったことを確認できます。  

```
sudo systemctl status hadoop-hdfs-namenode
```
出力の例:  

```
hadoop-hdfs-namenode.service - Hadoop namenode
   Loaded: loaded (/etc/systemd/system/hadoop-hdfs-namenode.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-08-18 21:38:24 UTC; 2s ago
  Process: 13748 ExecStart=/etc/init.d/hadoop-hdfs-namenode start (code=exited, status=0/SUCCESS)
 Main PID: 13800 (java)
    Tasks: 0
   Memory: 1.1M
   CGroup: /system.slice/hadoop-hdfs-namenode.service
           ‣ 13800 /etc/alternatives/jre/bin/java -Dproc_namenode -Xmx1843m -server -XX:OnOutOfMemoryError=kill -9 %p...
```

------
#### [ EMR 4.x - 5.29.0 ]

**Example : 実行中のプロセスを停止する**  
次の例では、`hadoop-hdfs-namenode` サービスを停止します。  

```
sudo stop hadoop-hdfs-namenode
```

**Example : 停止したプロセスを再起動する**  
次の例では、`hadoop-hdfs-namenode` サービスを再起動します。`restart` ではなく `start` コマンドを使用する必要があります｡  

```
sudo start hadoop-hdfs-namenode
```

**Example : プロセスのステータスを確認する**  
次の例では、`hadoop-hdfs-namenode` のステータスを取得します。`status` コマンドを使用して、プロセスが停止または開始したことを確認できます。  

```
sudo status hadoop-hdfs-namenode
```

------
#### [ EMR 2.x - 3.x ]

**Example : アプリケーションプロセスを停止する**  
次の例では、クラスターにインストールされている Amazon EMR のバージョンに関連付けられている `hadoop-hdfs-namenode` サービスを停止します。  

```
sudo /etc/init.d/hadoop-hdfs-namenode stop
```

**Example : アプリケーションプロセスを再起動する**  
次のコマンド例では、`hadoop-hdfs-namenode` プロセスを再起動します。  

```
sudo /etc/init.d/hadoop-hdfs-namenode start
```

**Example : Amazon EMR プロセスを停止する**  
次の例では、クラスター上の Amazon EMR のバージョンに関連付けられていないインスタンスコントローラーなどのプロセスを停止します。  

```
sudo /sbin/stop instance-controller
```

**Example : Amazon EMR プロセスを再起動する**  
次の例では、クラスター上の Amazon EMR のバージョンに関連付けられていないインスタンスコントローラーなどのプロセスを再起動します。  

```
sudo /sbin/start instance-controller
```

**注記**  
`/sbin/start, stop` および `restart` コマンドは `/sbin/intictl` へのシンボリックリンクです。`initctl` の詳細については、コマンドプロンプトで `man initctl` と入力して、initctl マニュアルページを参照してください。

------