IBM Cloud Pak® for Data 4.7 版本将于 2025 年 7 月 31 日结束支持(EOS)。 欲了解更多信息,请参阅 IBM Cloud Pak for Data 版本 4.X 的停止服务公告。
在 IBM Cloud Pak for Data 4.7 版本支持结束之前,升级到 IBM Software Hub 5.1 版本。 更多信息,请参阅 IBM Software Hub 版本 5.1 文档中的升级 IBM Software Hub。
无法提交概要文件作业或预览资产 (Watson 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>登录到概要分析 pod:
a. 通过运行以下命令来标识概要分析 pod:
oc get pod | grep wdp-profiling此命令可返回 Pod 列表。 选择名称前缀与
wdp-profiling完全对应的 pod。b. 使用以下命令登录到此 pod:
oc rsh <podName>示例:
oc rsh wdp-profiling-d989b575b-v85wx完成以下检查:
如果在环境中启用了保险库,请转至
/etc/.secrets目录,并确保 INSTANCE_API_KEY 和 ANALYTICS_ENGINE_INSTANCE_ID 私钥文件可用。要获取 INSTANCE_API_KEY 和 ANALYTICS_ENGINE_INSTANCE_ID 值,请运行以下命令:
cat /etc/.secrets/INSTANCE_API_KEYcat /etc/.secrets/ANALYTICS_ENGINE_INSTANCE_ID如果未在环境中启用保险库,请检查以下环境变量并确保设置了值:
- 安装 NCE_API_KEY
- 安装 NCE_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"将返回一个 JSON 对象,其中列出 2 实例的最大详细信息: 服务卷实例和 Analytics Engine 实例。 如果没有可用的服务实例,那么 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":{}}'此命令将创建服务卷实例并在响应中返回其标识。 记下服务卷实例标识。
如果找不到 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 实例并将其标识作为响应返回。 记下此标识。
更新
wdp-profiling和dp-transform部署以使用您在上一步中创建的新 Analytics Engine 实例。如果在您的环境中启用了保险库,请完成以下步骤:
- 浏览至
/etc/.secrets目录。 - 编辑 ANALYTICS_ENGINE_INSTANCE_ID 密钥文件并更新
iae_instance_id密钥的值。 - 保存您的更改。
要应用更改,请重新启动
wdp-profiling和dp-transformpod。- 浏览至
如果未在环境中启用保险库,请完成以下步骤:
对实例标识进行编码:
echo -n '<instance_id>' | base64编辑
wdp-profiling-iae-secrets私钥:oc edit secret wdp-profiling-iae-secrets使用 base64-encoded 值更新
iae_instance_id条目的值:apiVersion: v1 data: iae_instance_id: <base64-encoced value> iae_usermgmt_apikey: <apikey> kind: Secret通过运行以下命令来重新启动
wdp-profilingpod具有所需副本数: oc scale deployment wdp-profiling --replicas=0 oc scale deployment wdp-profiling --replicas=<n>通过运行以下命令来重新启动
dp-transformpod具有所需副本数: oc scale deployment dp-transform --replicas=0 oc scale deployment dp-transform --replicas=<n>保存您的更改。
已更新部署。 刷新 pod 后,新的 Analytics Engine 实例将用于概要分析和预览。