プロファイル・ジョブまたは 資産 (IBM Knowledge Catalog) をサブミットまたはプレビューできません
カタログまたはプロジェクト内の 資産 のプロファイル作成が失敗すると、以下のエラーが発生する場合があります。 FAILED TO SUBMIT JOB: Job failed to start.
さらに、データ保護ルールが適用されているときに 資産 をプレビューしようとすると、次のエラーが発生する場合があります。 An error occurred attempting to preview this asset.
これらのエラーは、プロファイリングおよびプレビューに使用される IBM Analytics Engine powered by Apache Spark のインスタンスに問題があることが原因である可能性があります。 Analytics Engine インスタンスを確認し、問題を修正するには、以下の手順を実行します:
クラスター管理者として Red Hat OpenShift クラスターにログインします。
oc login <OpenShift_URL:port>プロファイル作成ポッドにログインします。
a. 以下のコマンドを実行して、プロファイル作成ポッドを識別します。
oc get pod | grep wdp-profilingこのコマンドは、ポッドのリストを返すことができます。 名前の接頭部が
wdp-profilingと正確に一致するポッドを選択します。b. 以下のコマンドを使用して、このポッドにログインします。
oc rsh <podName>例:
oc rsh wdp-profiling-d989b575b-v85wx以下の確認を行います。
ご使用の環境でボールトが有効になっている場合は、
/etc/.secretsINSTANCE_API_KEY 値と ANALYTICS_ENGINE_INSTANCE_ID 値を取得するには、以下のコマンドを実行します。
cat /etc/.secrets/INSTANCE_API_KEYcat /etc/.secrets/ANALYTICS_ENGINE_INSTANCE_IDご使用の環境でボールトが有効になっていない場合は、以下の環境変数を確認し、値が設定されていることを確認してください。
- INSTANCE_API_KEY
- INSTANCE_USER
- ANALYTICS_ENGINE_INSTANCE_ID
以下のコマンドを使用します。
env | grep -i instance出力は、以下の例のようになります。
INSTANCE_API_KEY=UJQzjcf6HJcR6IAUilR3fYu3qbvPoCnVX6mc1eN6 INSTANCE_USER=__internal_profiler__ ANALYTICS_ENGINE_INSTANCE_ID=1654844464492037
これらの環境変数または秘密ファイルのすべてが使用可能でなければなりません。 そうでない場合は、インストールに重大な問題があります。
インスタンス・ユーザーの API トークンを生成します。
curl -k -sS -X POST -H 'Content-Type: application/json' -d '{"username":"<INSTANCE_USER>","api_key":"<INSTANCE_API_KEY>"}' https://<CPDHost>/icp4d-api/v1/authorizeこのコマンドは、トークンを含む JSON オブジェクトを返します。
返された JSON でキーワード
tokenを探します。 そのプロパティーの値をコピーし、コマンドexport TOKEN=<token>を使用して変数 TOKEN にエクスポートします。インスタンスの詳細を取得し、インスタンスが
RUNNING状態であるかどうかを確認します。curl -k -sS -X GET https://<CPDHost>/zen-data-ui/v3/service_instances/<ANALYTICS_ENGINE_INSTANCE_ID>?include_service_status=true --header 'Accept: application/json' --header "Authorization: Bearer $TOKEN"応答は、以下の例のようになります。
{"service_instance":{"addon_type":"spark","addon_version":"4.5.0","connection_info":{"History server endpoint":"$HOST/v2/spark/v3/instances/f32a7728-eb57-4300-a5b4-bb0f772b9964/spark_history_server","Spark jobs V2 endpoint":"$HOST/ae/spark/v2/f32a7728-eb57-4300-a5b4-bb0f772b9964/v2/jobs","Spark jobs V3 endpoint":"$HOST/v2/spark/v3/instances/f32a7728-eb57-4300-a5b4-bb0f772b9964/spark/applications","Spark kernel endpoint":"$HOST/v2/spark/ae/f32a7728-eb57-4300-a5b4-bb0f772b9964/jkg/api/kernels","View history server":"$HOST/v2/spark/v3/instances/f32a7728-eb57-4300-a5b4-bb0f772b9964/spark_history_ui/"},"created_at":"2022-06-10T07:01:04.502057Z","display_name":"ProfHbIntrnl","id":"1654844464492037","instance_identifiers":null,"metadata":{"volumeName":"wkc::ProfStgIntrnl"},"misc_data":{},"namespace":"wkc","owner_uid":"1000331001","owner_username":"__internal_profiler__","parameters":{"file_server":{"start":true},"storageClass":"managed-nfs-storage","storageSize":"5Gi","volumeName":"wkc::ProfStgIntrnl"},"provision_status":"PROVISIONED","resources":{},"roles":["Admin"],"updated_at":"2022-07-22T06:10:16.092222Z","zen_service_instance_info":{"docker_registry_prefix":"icr.io/cpopen/cpfs"}},"services_status":"RUNNING"}キーワード
services_statusの値は RUNNING でなければなりません。ただし、 GET 呼び出しが
service_not_found例外を戻した場合、 Analytics Engine インスタンスは使用できなくなります。 この場合は、以下のステップを実行して問題を修正してください。 それ以外の場合は、残りのステップをスキップしてください。すべてのサービス・インスタンスをリストします。 ステップ 4 で取得したトークンがまだ有効である場合は、このトークンを使用できます。 トークンが 有効期限切れ の場合は、そのステップで説明されているように、新しいトークンを生成してエクスポートします。
curl -k -sS -X GET https://<CPDHost>/zen-data-ui/v3/service_instances?include_service_status=true --header 'Accept: application/json' --header "Authorization: Bearer $TOKEN"サービス・ボリューム・インスタンスと Analytics Engine インスタンスの 2 つのインスタンスの詳細をリストした JSON オブジェクトが最大で返されます。 使用可能なサービス・インスタンスがない場合、 JSON オブジェクトは空です。
サービス・ボリューム・インスタンスが見つからない場合は、以下の cURL コマンドを使用して作成します。 必要に応じて、サンプル・ペイロードの値を置き換えます。
curl -k -sS -X POST https://<CPDHost>/zen-data-ui/v3/service_instances --header 'Accept: application/json' --header "Authorization: Bearer $TOKEN" --header 'Content-Type: application/json' -d ' {"addon_type":"volumes","display_name":"<volumeNameOfYourChoice>","namespace":"${PROJECT_CPD_INST_OPERANDS}","addon_version":"-","create_arguments":{"resources":{},"parameters":{"storageClass":"managed-nfs-storage","storageSize":"50Gi","volumeName":"${PROJECT_CPD_INST_OPERANDS}::<volumeNameOfYourChoice>","file_server":{"start":true}},"description":"","metadata":{"storageClass":"managed-nfs-storage","storageSize":"50Gi","volumeName":"${PROJECT_CPD_INST_OPERANDS}::<volumeNameOfYourChoice>","file_server":{"start":true}},"owner_username":""},"pre_existing_owner":false,"transientFields":{}}'このコマンドは、サービス・ボリューム・インスタンスを作成し、応答でその ID を返します。 サービス・ボリューム・インスタンス ID をメモします。
Analytics Engine インスタンスが見つからない場合は、以下の cURL コマンドを使用して作成します。 必要に応じて、サンプル・ペイロードの値を置き換えます。
curl -k -sS -X POST https://<CPDHost>/zen-data-ui/v3/service_instances --header 'Accept: application/json' --header "Authorization: Bearer $TOKEN" --header 'Content-Type: application/json' -d '{"addon_type":"spark","display_name":"<IAE_INSTANCE_NameOfYourChoice>","namespace":"${PROJECT_CPD_INST_OPERANDS}","addon_version":"<spark_version>","create_arguments":{"resources":{},"parameters":{"storageClass":"managed-nfs-storage","storageSize":"50Gi","volumeName":"${PROJECT_CPD_INST_OPERANDS}::<volumeNameOfYourChoice>","file_server":{"start":true}},"description":"","metadata":{"storageClass":"managed-nfs-storage","storageSize":"50Gi","volumeName":"${PROJECT_CPD_INST_OPERANDS}::<volumeNameOfYourChoice>","file_server":{"start":true}},"owner_username":""},"pre_existing_owner":false,"transientFields":{}}'このコマンドは、 Analytics Engine ・インスタンスを作成し、その ID を応答として返します。 この ID をメモしておいてください。
wdp-profilingおよびdp-transformデプロイメント を更新して、前のステップで作成した新しい Analytics Engine インスタンスと連携するようにします。ご使用の環境でボールトが有効になっている場合は、以下のステップを実行します。
/etc/.secretsディレクトリーにナビゲートします。- ANALYTICS_ENGINE_INSTANCE_ID シークレット・ファイルを編集し、
iae_instance_idキーの値を更新します。 - 変更内容を保存します。
変更を適用するには、
wdp-profilingポッドとdp-transformポッドを再始動します。ご使用の環境でボールトが有効になっていない場合は、以下の手順を実行します。
インスタンス ID をエンコードします。
echo -n '<instance_id>' | base64wdp-profiling-iae-secretsシークレット を編集します。oc edit secret wdp-profiling-iae-secretsiae_instance_idエントリーの値を base64-encoded 値で更新します。apiVersion: v1 data: iae_instance_id: <base64-encoced value> iae_usermgmt_apikey: <apikey> kind: Secret以下のコマンドを実行して、
wdp-profilingポッドを再始動します。必要なレプリカ数で: oc scale deployment wdp-profiling --replicas=0 oc scale deployment wdp-profiling --replicas=<n>以下のコマンドを実行して、
dp-transformポッドを再始動します。必要なレプリカ数で: oc scale deployment dp-transform --replicas=0 oc scale deployment dp-transform --replicas=<n>変更内容を保存します。
デプロイメント が更新されます。 ポッドが更新されると、新しい Analytics Engine インスタンスがプロファイル作成とプレビューに使用されます。