HDInsight で WebHCat から受信したエラーの説明と解決策
HDInsight で WebHCat を使用しているときに受信するエラーとその解決策について説明します。 WebHCat は、Azure PowerShell や Visual Studio 用 Data Lake Tools などのクライアント側ツールによって内部使用されます。
WebHCat とは
WebHCat は、Apache Hadoop のテーブルおよびストレージ管理レイヤーである HCatalog
用の REST API です。 WebHCat は、HDInsight クラスターで既定で有効になっており、ジョブの送信、ジョブの状態の取得などの操作をクラスターにログインすることなく行うために、さまざまなツールで使用されます。
構成の変更
このドキュメントに示すエラーのいくつかは、構成されている最大値が超過したことが原因で発生します。 解決手順に値が変更可能であることが示されている場合は、Apache Ambari (web または REST API) を使用して値を変更します。 詳細については、「Apache Ambari を使用した HDInsight の管理」を参照してください
既定の構成
次の既定値を超えた場合、WebHCat のパフォーマンスが低下したり、エラーが発生したりします。
設定 | 実行内容 | 既定値 |
---|---|---|
[yarn.scheduler.capacity.maximum-applications][maximum-applications] | 同時にアクティブにできるジョブの最大数 (保留中または実行中) | 10,000 |
templeton.exec.max-procs |
同時に処理できる要求の最大数 | 20 |
[mapreduce.jobhistory.max-age-ms][max-age-ms] | ジョブの履歴が保持される日数 | 7 日 |
要求が多すぎます
HTTP 状態コード:429
原因 | 解像度 |
---|---|
WebHCat によって処理される 1 分間あたりの最大同時要求数を超過しました (既定値は 20)。 | 最大同時要求数を超える数の要求を送信しないようにワークロードを減らすか、templeton.exec.max-procs を変更して同時要求の上限を増やします。 詳細については、「構成の変更」を参照してください。 |
Server unavailable
HTTP 状態コード:503
原因 | 解像度 |
---|---|
この状態コードは、通常、クラスターのプライマリ ヘッドノードとセカンダリ ヘッドノードの間のフェールオーバー時に発生します。 | 2 分待ってから操作をやり直してください。 |
Bad request Content: Couldn't find job (正しくない要求内容: ジョブが見つかりません)
HTTP 状態コード:400
原因 | 解決策 |
---|---|
ジョブ履歴クリーナーによってジョブの詳細がクリーンアップされた | ジョブ履歴の既定の保有期間は 7 日間です。 既定の保持期間は、mapreduce.jobhistory.max-age-ms を修正することで変更できます。 詳細については、「構成の変更」を参照してください。 |
フェールオーバーが原因でジョブが中止された | 最大で 2 分間にわたってジョブの送信を再試行してください。 |
無効なジョブ ID が使用された | ジョブ ID が正しいことを確認してください |
Bad gateway
HTTP 状態コード:502
原因 | 解像度 |
---|---|
WebHCat プロセス内で内部ガベージ コレクションが行われている。 | ガベージ コレクションが終了するまで待つか、または WebHCat サービスを再起動します。 |
ResourceManager サービスからの応答の待機中にタイムアウトが発生した。 このエラーは、アクティブなアプリケーションの数が構成された最大値 (既定値は 10,000) に達した場合に発生することがあります。 | 現在実行中のジョブが完了するまで待つか、または yarn.scheduler.capacity.maximum-applications を変更して同時実行ジョブの制限値をより大きな値にします。 詳細については、「構成の変更」セクションをご覧ください。 |
Fields が * に設定されているときに、GET/jobs 呼び出しですべてのジョブを取得しようとした。 |
"すべて" のジョブの詳細を取得しないでください。 代わりに、jobid を使用して、特定のジョブ ID より大きいジョブの詳細のみを取得してください。 または、Fields を使用しないでください。 |
ヘッドノードのフェールオーバー中に WebHCat サービスがダウンした。 | 2 分待ってから操作をやり直してください。 |
WebHCat を通じて送信された 500 個を超えるジョブが保留中になっている。 | 現在保留中のジョブが完了するのを待ってから、次のジョブを送信します。 |
次のステップ
問題がわからなかった場合、または問題を解決できない場合は、次のいずれかのチャネルでサポートを受けてください。
Azure コミュニティのサポートを通じて Azure エキスパートから回答を得る。
カスタマー エクスペリエンスを向上させるための Microsoft Azure の公式アカウントの @AzureSupport に連絡する。 Azure コミュニティで適切なリソース (回答、サポート、エキスパートなど) につながる。
さらにヘルプが必要な場合は、Azure portal からサポート リクエストを送信できます。 メニュー バーから [サポート] を選択するか、 [ヘルプとサポート] ハブを開いてください。 詳細については、「Azure サポート要求を作成する方法」を参照してください。 サブスクリプション管理と課金サポートへのアクセスは、Microsoft Azure サブスクリプションに含まれていますが、テクニカル サポートはいずれかの Azure のサポート プランを通して提供されます。