Databricks CLI のトラブルシューティング
Databricks CLI 使用には、 Databricks ライセンス および Databricks プライバシー通知(使用データのプロビジョニングを含む)が適用されます。
Databricks CLI の問題のトラブルシューティングを行うには、次の情報を使用します。
ログ記録を有効にする
コマンドが失敗した場合、または予期した出力が生成されない場合は、ロギングを使用して、問題の原因を特定できます。 Databricks CLI が出力する、さまざまなコマンド イベント、警告、エラーに関するメッセージをログに記録できます。 これらのメッセージをログに記録するには、次の Databricks CLI コマンド オプションを指定します。
旗 | 説明 |
|---|---|
| 出力ログを書き込むファイルを表す文字列。 このフラグが指定されていない場合、デフォルトでは出力ログが stderr に書き込まれます。 |
|
|
| ログフォーマットレベルを表す文字列。有効なログレベルは |
以下のコマンド例は、指定されたコマンドのトレースメッセージをJSON形式でdatabricks-cli.logという名前のファイルにログ記録します。
databricks clusters list --log-file databricks-cli.log --log-format json --log-level trace
Terraformのダウンロード中にエラーが発生しました。
Databricks CLI の一部のバージョンでは、有効期限切れのキーが原因で、 databricks bundle deployを実行すると次のエラーが発生します。
error downloading Terraform: unable to verify checksums signature: openpgp: key expired
このエラーを解決するには、Databricks CLIを最新のパッチ適用済みバージョンにアップグレードしてください。これにより、検証メカニズムが更新され、新しいキーで動作するようになります。現在使用しているCLIのマイナーバージョンに対応するパッチ適用済みのバージョンにアップグレードしてください。
-
バイナリインストール :GitHubのDatabricks CLIリリースページからパッチ適用済みのバージョンをダウンロードしてください。
-
setup- CLI (インストール スクリプトまたはGitHub Actionsとして): 構成内のバージョンを、 GitHubのDatabricks CLIリリース ページからパッチ適用済みのバージョンに更新します。
例えば、GitHub Actionsで
0.296.1を使用するには、次のようにします。YAML- uses: databricks/setup-cli@mainwith:version: 0.296.1
保存済み資格情報エラー
Databricks CLI バージョン 1.0.0 以降、Databricks CLI は、ユーザーマシン間 (U2M) 認証トークンを OS ネイティブのセキュアストレージ(macOS のキーチェーン、Windows の資格情報マネージャー、Linux の D-Bus シークレットサービス)に JSON ファイルではなく格納します。「トークンストレージ」を参照してください。ワークフローがJSONファイルに基づいて構築されている場合、新しいストレージ方式では機能せず、以下のシナリオで問題が発生する可能性があります。
-
GAにアップグレードされました、まだ再度ログインしていません。 Databricks CLI は以前のバージョンで保存された資格情報を読み込まなくなり、エラーを返します。
Stored credentials from older CLI versions are no longer used.Run "databricks auth login" to sign in again.If secure storage is not available in this environment, setDATABRICKS_AUTH_STORAGE=plaintext and re-run login.これを解決するには、
databricks auth loginを実行してください。 -
セキュアストレージのチェックがログイン時に失敗する
databricks auth loginの際に、Databricks CLI は OAuth フローを開始する前にセキュアストレージをチェックします。チェックに失敗した場合(D-Bus が実行されていない Linux コンテナ、SSH セッション、WSL1、およびヘッドレスサーバーで最も一般的です):動作は、セキュアストレージが明示的に構成されているかどうかによって異なります。- デフォルトモード、明示的なストレージ設定なし:Databricks CLIは静かにプレーンテキストにフォールバックし、
~/.databrickscfgの[__settings__]セクションにauth_storage = plaintextを書き込みます。後続のコマンドは、再確認なしでプレーンテキストを使用します。 - 明示的なセキュアモード(構成プロファイルでは
DATABRICKS_AUTH_STORAGE=secureまたはauth_storage = secure):Databricks CLIは、DATABRICKS_AUTH_STORAGE=plaintextフォールバックを指すエラーを返します。
チェックが完全に失敗するのではなく、タイムアウトになった場合(たとえば、キーチェーンがロックされているが到達可能な場合)、Databricks CLI はキーチェーンのバックエンドを保持し、OS のロック解除プロンプトはブラウザの OAuth フローと並行して実行されます。
ログイン後にDatabricks CLIが使用しているストレージモードを確認するには、
databricks auth describeを実行します。 - デフォルトモード、明示的なストレージ設定なし:Databricks CLIは静かにプレーンテキストにフォールバックし、
-
保存済みトークンの読み込み中に、キーチェーンに到達できませんでした。 ログイン時とは異なり、Databricks CLI はトークン読み取り時にキーチェーンにアクセスできない場合、サイレント フォールバックしません。たとえば、デスクトップマシンにログインし、その後、ヘッドレスセッションでSSH経由で接続した場合、保存されたトークンを必要とするコマンドはエラーで失敗します。これを解決するために、プレーンテキストのフォールバックを使用してください。プレーンテキストのフォールバックを使用するを参照してください。
コマンドが終了しない
databricks cluster listなどのコマンドを実行してハングしているように見える場合は、Databricks CLI のバージョンを最新バージョンに更新してください。以前のバージョンの CLI では、リスト内の項目数が多い場合でも完全なリストを読み込もうとするため、コマンドが完了しないように見えました。