0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Databricksクラスター起動に関するトラブルシュート

Last updated at Posted at 2023-02-18

Cluster failed to launch - Databricks [2022/3/4時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

本書では、クラスターの起動に失敗するいくつかのシナリオを説明し、ログに表示されるエラーメッセージに基づいてそれぞれのシナリオにおけるトラブルシュートのステップを説明します。

クラスターのタイムアウト

エラーメッセージ:

Driver failed to start in time
INTERNAL_ERROR: The Spark driver failed to start within 300 seconds
Cluster failed to be healthy within 200 seconds

原因

外部のHiveメタストアに接続しており、MavenリポジトリからすべてのHiveメタストアライブラリをダウンロードしようとする際、起動に失敗することがあります。クラスターは依存関係を含む約200個のJARファイルをダウンロードします。Databricksのクラスターマネージャがドライバーノードが5分以内に準備できたことを確認できない場合、起動に失敗します。これは、JARのダウンロードに時間がかかりすぎることによって発生します。

解決策

HiveのライブラリをDBFSに格納し、DBFSロケーションからローカルにアクセスしてください。Spark Optionsをご覧ください。

グローバルあるいはクラスターのinitスクリプト

エラーメッセージ:

The cluster could not be started in 50 minutes. Cause: Timed out with exception after <xxx> attempts

原因

クラスターの起動ステージにおいて実行されるinitスクリプトは、スクリプトをワーカーのローカルで実行するためにそれぞれのワーカーマシンにRPC(リモートプロシージャコール)を送信します。すべてのRPCはプロセスを継続する前に自分のステータスを返信しなくてはなりません。(ネットワークの問題などによって)いずれかのRPCに問題が生じて返信せず、1時間のタイムアウトになる場合があり、結果としてセットアップのジョブが失敗します。

解決策

グローバルやクラスター固有のinitスクリプトではなく、クラスタースコープのinitスクリプトを使用してください。クラスタースコープのinitスクリプトでは、Databricksはinitスクリプトの実行ステータスを取得するためにRPCの同期ブロックを使用しません。

クラスターUIでインストールしたライブラリが多すぎる

エラーメッセージ:

Library installation timed out after 1800 seconds. Libraries that are not yet installed:

原因

これは、通常はネットワークの問題に起因する一時的な問題です。

解決策

通常は、ジョブを再実行するかクラスターを再起動することでこの問題を解決することができます。

ライブラリのインストーラーは3分後にタイムアウトになるように設定されています。JARを取得し、インストールしている際にも、ネットワーク問題によってタイムアウトが発生することがあります。この問題を回避するために、MavenからDBFSロケーションにライブラリをダウンロードし、そこからライブラリをインストールすることができます。

クラウドプロバイダーの制限

エラーメッセージ:

Cluster terminated. Reason: Cloud Provider Limit

原因

通常このエラーはクラウドプロバイダーによって引き起こされます。

解決策

Databricksクラスターの予期しない停止への対応方法におけるクラウドプロバイダーのエラー情報をご覧ください。

クラウドプロバイダーによるシャットダウン

エラーメッセージ:

Cluster terminated. Reason: Cloud Provider Shutdown

原因

通常このエラーはクラウドプロバイダーによって引き起こされます。

解決策

Databricksクラスターの予期しない停止への対応方法におけるクラウドプロバイダーのエラー情報をご覧ください。

インスタンスに到達できない(Azure)

エラーメッセージ:

Cluster terminated. Reason: Instances Unreachable
An unexpected error was encountered while setting up the cluster. Please retry and contact Azure Databricks if the problem persists. Internal error message: Timeout while placing node

原因

通常このエラーはクラウドプロバイダーによって引き起こされます。特に、(新規のAzure Databricksワークスペースを起動する際に作成されるデフォルトのVNetではなく)自分のバーチャルネットワーク(VNet)にAzure Databricksワークスペースをデプロイした際に発生します。ワークスペースがデプロイされているバーチャルネットワークがすでにオンプレミスのリソースに対するExpressRoute接続とピアリングしてるあるいは接続を有している場合、Azure Databricksがクラスターを作成しようとした際、バーチャルネットワークはクラスターノードにssh接続を行うことができません。

解決策

クラスターインスタンス、Blobストレージインスタンス、アーティファクトのリソースに対するsshアクセスをAzure Databricksコントロールプレーンに与えるために、ユーザー定義ルート(UDR)を追加します。このカスタムUDRによって、アウトバウンドの通信が可能となり、クラスター作成を阻害しません。UDRの詳細手順に関しては、Step 3: Create user-defined routes and associate them with your Azure Databricks virtual network subnetsをご覧ください。VNetに関連するトラブルシュートの情報に関しては、Troubleshootingをご覧ください。

Databricks 無料トライアル

Databricks 無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?