

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

# Amazon EMR ストリーミングクラスターのエラー
<a name="emr-troubleshoot-error-streaming"></a>

 ストリーミングエラーの原因は、通常、`syslog` ファイルで確認できます。ここには、[**Steps**] ペインで接続します。

ストリーミングクラスターの一般的なエラーを以下に示します。

**Topics**
+ [データは間違った形式でマッパーに送信されていませんか?](#emr-troubleshoot-error-streaming-1)
+ [スクリプトがタイムアウトしていませんか?](#emr-troubleshoot-error-streaming-2)
+ [無効なストリーミング引数を渡していませんか?](#invalidarg)
+ [スクリプトがエラーで終了しましたか?](#emr-troubleshoot-error-streaming-3)

## データは間違った形式でマッパーに送信されていませんか?
<a name="emr-troubleshoot-error-streaming-1"></a>

 これに該当するかを確認するには、タスク試行ログの失敗したタスク試行の `syslog` ファイルでエラーメッセージを検索します。詳細については、「[Amazon EMR ログファイルを表示する](emr-manage-view-web-log-files.md)」を参照してください。

## スクリプトがタイムアウトしていませんか?
<a name="emr-troubleshoot-error-streaming-2"></a>

 マッパーまたはリデューサースクリプトに対するデフォルトのタイムアウトは 600 秒です。スクリプトにこれ以上時間がかかる場合、タスクの試行は失敗します。タスク試行ログで失敗したタスク試行の `syslog` ファイルを確認して、これに該当するかを確認できます。詳細については、「[Amazon EMR ログファイルを表示する](emr-manage-view-web-log-files.md)」を参照してください。

 `mapred.task.timeout` 設定に新しい値を設定して、制限時間を変更できます。この設定は、入力の読み取り、出力の書き込み、またはステータス文字列の更新がされなくなってから何ミリ秒後に、Amazon EMR がタスクを終了するかを指定します。追加のストリーミング引数 `-jobconf mapred.task.timeout=800000` を渡して、この値を更新できます。

## 無効なストリーミング引数を渡していませんか?
<a name="invalidarg"></a>

 Hadoop ストリーミングでは、次の引数のみがサポートされています。ここに示されていない引数を渡すと、クラスターは失敗します。

```
 1. -blockAutoGenerateCacheFiles 
 2. -cacheArchive 
 3. -cacheFile 
 4. -cmdenv 
 5. -combiner 
 6. -debug 
 7. -input 
 8. -inputformat
 9. -inputreader 
10. -jobconf 
11. -mapper
12. -numReduceTasks
13. -output 
14. -outputformat 
15. -partitioner
16. -reducer
17. -verbose
```

 さらに、Hadoop ストリーミングでは、Java 構文を使って渡された引数、つまり先頭にハイフンが 1 つしか付いていない引数しか認識されません。先頭に 2 つのハイフンが付いている引数を渡すと、クラスターは失敗します。

## スクリプトがエラーで終了しましたか?
<a name="emr-troubleshoot-error-streaming-3"></a>

 マッパーまたはリデューサースクリプトがエラーで終了した場合、失敗したタスク試行のタスク試行ログの `stderr` ファイルでエラーを検索できます。詳細については、「[Amazon EMR ログファイルを表示する](emr-manage-view-web-log-files.md)」を参照してください。