适用于:
Azure 数据工厂
Azure Synapse Analytics
本文探讨排查 Azure 数据工厂和 Synapse 管道中的外部控制活动问题的常用方法。
连接器和复制活动
如果遇到连接器问题(例如,使用复制活动时遇到错误),请参阅排查连接器问题一文。
Azure Databricks
错误代码:3200
消息:错误 403。
原因:
The Databricks access token has expired.建议:默认情况下,Azure Databricks 访问令牌的有效期为 90 天。 请创建新令牌并更新链接服务。
错误代码:3201
消息:
Missing required field: settings.task.notebook_task.notebook_path.原因:
Bad authoring: Notebook path not specified correctly.建议:在 Databricks 活动中指定笔记本路径。
消息:
Cluster... does not exist.原因:
Authoring error: Databricks cluster does not exist or has been deleted.建议:验证 Databricks 群集是否存在。
消息:
Invalid Python file URI... Please visit Databricks user guide for supported URI schemes.原因:
Bad authoring.建议:为工作区寻址方案指定绝对路径,或者为 Databricks 文件系统 (DFS) 中存储的文件指定
dbfs:/folder/subfolder/foo.py。
消息:
{0} LinkedService should have domain and accessToken as required properties.原因:
Bad authoring.建议:验证链接服务定义。
消息:
{0} LinkedService should specify either existing cluster ID or new cluster information for creation.原因:
Bad authoring.建议:验证链接服务定义。
消息:
Node type Standard_D16S_v3 is not supported. Supported node types: Standard_DS3_v2, Standard_DS4_v2, Standard_DS5_v2, Standard_D8s_v3, Standard_D16s_v3, Standard_D32s_v3, Standard_D64s_v3, Standard_D3_v2, Standard_D8_v3, Standard_D16_v3, Standard_D32_v3, Standard_D64_v3, Standard_D12_v2, Standard_D13_v2, Standard_D14_v2, Standard_D15_v2, Standard_DS12_v2, Standard_DS13_v2, Standard_DS14_v2, Standard_DS15_v2, Standard_E8s_v3, Standard_E16s_v3, Standard_E32s_v3, Standard_E64s_v3, Standard_L4s, Standard_L8s, Standard_L16s, Standard_L32s, Standard_F4s, Standard_F8s, Standard_F16s, Standard_H16, Standard_F4s_v2, Standard_F8s_v2, Standard_F16s_v2, Standard_F32s_v2, Standard_F64s_v2, Standard_F72s_v2, Standard_NC12, Standard_NC24, Standard_NC6s_v3, Standard_NC12s_v3, Standard_NC24s_v3, Standard_L8s_v2, Standard_L16s_v2, Standard_L32s_v2, Standard_L64s_v2, Standard_L80s_v2.原因:
Bad authoring.建议:参考错误消息。
错误代码:3202
消息:
There were already 1000 jobs created in past 3600 seconds, exceeding rate limit: 1000 job creations per 3600 seconds.原因:
Too many Databricks runs in an hour.建议:检查将此 Databricks 工作区用于其作业创建速率的所有管道。 如果管道总共启动的 Databricks 运行数过多,请将一些管道迁移到新工作区。
消息:
Could not parse request object: Expected 'key' and 'value' to be set for JSON map field base_parameters, got 'key: "..."' instead.原因:
Authoring error: No value provided for the parameter.建议:检查管道 JSON,确保 baseParameters 笔记本中的所有参数指定非空值。
消息:
User: 'SimpleUserContext{userId=..., name=user@company.com, orgId=...}' is not authorized to access cluster.原因:不允许已生成访问令牌的用户访问链接服务中指定的 Databricks 群集。
建议:确保该用户在工作区中拥有所需的权限。
消息:
Job is not fully initialized yet. Please retry later.原因:作业未初始化。
建议:请等待并稍后重试。
错误代码:3203
消息:
The cluster is in Terminated state, not available to receive jobs. Please fix the cluster or retry later.原因:群集已终止。 对于交互式群集,此问题可能是争用条件问题。
建议:若要避免此错误,请使用作业群集。
错误代码:3204
消息:
Job execution failed.原因:错误消息指出了各种问题,例如意外的群集状态或特定的活动。 往往不会显示任何错误消息。
建议:空值
错误代码:3208
消息:
An error occurred while sending the request.原因: 与 Databricks 服务的网络连接已中断。
建议:如果使用的是自承载集成运行时,请确保来自集成运行时节点的网络连接是可靠的。 如果使用的是 Azure 集成运行时,则重试通常有效。
布尔运行输出开始以字符串(而不是预期的整数)形式出现
症状:布尔运行输出开始以字符串形式(例如,
"0"或"1")出现,而不是以预期的整数形式(例如,0或1)出现。
2021 年 9 月 28 日美国东部标准时间上午 9 点左右,当依赖此输出的管道开始出现故障时,你注意到这一变化。 没有对管道进行任何更改,并且布尔输出在故障发生之前按预期到达。
原因:这个问题是由最近的一项更改引起的,这是设计使然。 更改后,如果结果是以零开头的数字,Azure 数据工厂会将该数字转换为八进制值,这是一个 bug。 此数字一直为 0 或 1,这在此更改之前从未引起过问题。 因此,为了修复八进制转换的问题,字符串输出将按原样从 Notebook 运行传递。
建议:将 if 条件更改为类似于
if(value=="0")的条件。
Azure 函数
错误代码:3602
消息:
Invalid HttpMethod: '%method;'.原因: 活动有效负载中指定的 Httpmethod 不受 Azure 函数活动的支持。
建议:支持的 Httpmethod 为:PUT、POST、GET、DELETE、OPTIONS、HEAD 和 TRACE。
错误代码:3603
消息:
Response Content is not a valid JObject.原因: 调用的 Azure 函数未在响应中返回 JSON 有效负载。 Azure 数据工厂和 Synapse 管道 Azure 函数活动仅支持 JSON 响应内容。
建议:更新 Azure 函数以返回有效的 JSON 有效负载,例如,C# 函数可以返回
(ActionResult)new OkObjectResult("{\"Id\":\"123\"}");
错误代码:3606
消息:Azure 函数活动缺少函数密钥。
原因: Azure 函数活动定义不完整。
建议:检查输入的 Azure 函数活动 JSON 定义是否包含名为
functionKey的属性。
错误代码:3607
消息:
Azure function activity missing function name.原因: Azure 函数活动定义不完整。
建议:检查输入的 Azure 函数活动 JSON 定义是否包含名为
functionName的属性。
错误代码:3608
消息:
Call to provided Azure function '%FunctionName;' failed with status-'%statusCode;' and message - '%message;'.原因: 活动定义中的 Azure 函数详细信息可能不正确。
建议:修复 Azure 函数详细信息,然后重试。
错误代码:3609
消息:
Azure function activity missing functionAppUrl.原因: Azure 函数活动定义不完整。
建议:检查输入的 Azure 函数活动 JSON 定义是否包含名为
functionAppUrl的属性。
错误代码:3610
消息:
There was an error while calling endpoint.原因: 函数 URL 可能不正确。
建议:验证活动 JSON 中的
functionAppUrl值是否正确,然后重试。
错误代码:3611
消息:
Azure function activity missing Method in JSON.原因: Azure 函数活动定义不完整。
建议:检查输入的 Azure 函数活动 JSON 定义是否包含名为
method的属性。
错误代码:3612
消息:
Azure function activity missing LinkedService definition in JSON.原因: Azure 函数活动定义不完整。
建议:检查输入的 Azure 函数活动 JSON 定义是否包含链接服务详细信息。
Azure 机器学习
错误代码:4101
消息:
AzureMLExecutePipeline activity '%activityName;' has invalid value for property '%propertyName;'.原因:属性
%propertyName;的定义格式错误或缺失。建议:检查是否使用正确的数据在活动
%activityName;中定义了属性%propertyName;。
错误代码:4110
消息:
AzureMLExecutePipeline activity missing LinkedService definition in JSON.原因:AzureMLExecutePipeline 活动定义不完整。
建议:检查输入的 AzureMLExecutePipeline 活动 JSON 定义是否正确包含链接服务详细信息。
错误代码:4111
消息:
AzureMLExecutePipeline activity has wrong LinkedService type in JSON. Expected LinkedService type: '%expectedLinkedServiceType;', current LinkedService type: Expected LinkedService type: '%currentLinkedServiceType;'.原因:活动定义不正确。
建议:检查输入的 AzureMLExecutePipeline 活动 JSON 定义是否正确包含链接服务详细信息。
错误代码:4112
消息:
AzureMLService linked service has invalid value for property '%propertyName;'.原因:属性“%propertyName;”的定义格式错误或缺失。
建议:检查是否使用正确的数据在链接服务中定义了属性
%propertyName;。
错误代码:4121
消息:
Request sent to Azure Machine Learning for operation '%operation;' failed with http status code '%statusCode;'. Error message from Azure Machine Learning: '%externalMessage;'.原因:用于访问 Azure 机器学习的凭据已过期。
建议:验证凭据是否有效,然后重试。
错误代码:4122
消息:
Request sent to Azure Machine Learning for operation '%operation;' failed with http status code '%statusCode;'. Error message from Azure Machine Learning: '%externalMessage;'.原因:Azure 机器学习链接服务中提供的凭据无效,或者没有操作权限。
建议:验证链接服务中的凭据是否有效且有权访问 Azure 机器学习。
错误代码:4123
消息:
Request sent to Azure Machine Learning for operation '%operation;' failed with http status code '%statusCode;'. Error message from Azure Machine Learning: '%externalMessage;'.原因:活动的属性(例如
pipelineParameters)对于 Azure 机器学习 (ML) 管道无效。建议:检查活动属性的值是否与链接服务中指定的已发布 Azure 机器学习管道的预期有效负载相匹配。
错误代码:4124
消息:
Request sent to Azure Machine Learning for operation '%operation;' failed with http status code '%statusCode;'. Error message from Azure Machine Learning: '%externalMessage;'.原因:已发布的 Azure 机器学习管道终结点不存在。
建议:验证链接服务中指定的已发布 Azure 机器学习管道终结点是否在 Azure 机器学习中存在。
错误代码:4125
消息:
Request sent to Azure Machine Learning for operation '%operation;' failed with http status code '%statusCode;'. Error message from Azure Machine Learning: '%externalMessage;'.原因:Azure 机器学习中出现服务器错误。
建议:请稍后重试。 如果问题持续出现,请联系 Azure 机器学习团队以获得帮助。
错误代码:4126
消息:
Azure ML pipeline run failed with status: '%amlPipelineRunStatus;'. Azure ML pipeline run Id: '%amlPipelineRunId;'. Please check in Azure Machine Learning for more error logs.原因:Azure 机器学习管道运行失败。
建议:检查 Azure 机器学习中的其他错误日志,然后修复 ML 管道。
Azure Synapse Analytics
错误代码:3250
消息:
There are not enough resources available in the workspace, details: '%errorMessage;'原因:资源不足
建议:尝试在工作区中结束正在运行的作业,减少请求的 vCore 数,增加工作区配额或使用其他工作区。
错误代码:3251
消息:
There are not enough resources available in the pool, details: '%errorMessage;'原因:资源不足
建议:尝试在池中结束正在运行的作业,减少请求的 vCore 数,扩大池的最大大小或使用其他池。
错误代码:3252
消息:
There are not enough vcores available for your spark job, details: '%errorMessage;'原因:虚拟核心不足
建议:尝试减少请求的 vCore 数或增加 vCore 配额。 有关详细信息,请参阅 Apache Spark 核心概念。
错误代码:3253
消息:
There are substantial concurrent MappingDataflow executions which is causing failures due to throttling under the Integration Runtime used for ActivityId: '%activityId;'.原因:达到限制阈值。
建议:在等待时间后重试请求。
错误代码:3254
消息:
AzureSynapseArtifacts linked service has invalid value for property '%propertyName;'.原因:属性“%propertyName;”的定义格式错误或缺失。
建议:检查是否使用正确的数据在链接服务中定义了“%propertyName”属性。
通用
错误代码:2103
消息:
Please provide value for the required property '%propertyName;'.原因: 尚未提供属性的必需值。
建议:提供消息中的值,然后重试。
错误代码:2104
消息:
The type of the property '%propertyName;' is incorrect.原因: 提供的属性类型不正确。
建议:修复属性的类型,然后重试。
错误代码:2105
消息:
An invalid json is provided for property '%propertyName;'. Encountered an error while trying to parse: '%message;'.原因: 属性的值无效,或未采用预期的格式。
建议:参阅属性的文档,并验证提供的值是否采用正确的格式和类型。
错误代码:2106
消息:
The storage connection string is invalid. %errorMessage;原因: 存储的连接字符串无效或格式不正确。
建议:转到 Azure 门户,找到你的存储,将连接字符串复制并粘贴到链接服务,然后重试。
错误代码:2110
消息:
The linked service type '%linkedServiceType;' is not supported for '%executorType;' activities.原因: 活动中指定了错误的链接服务。
建议:验证链接服务类型是否为活动支持的类型之一。 例如,对于 HDI 活动,链接服务类型可以是 HDInsight 或 HDInsightOnDemand。
错误代码:2111
消息:
The type of the property '%propertyName;' is incorrect. The expected type is %expectedType;.原因: 提供的属性的类型不正确。
建议:修复属性类型,然后重试。
错误代码:2112
消息:
The cloud type is unsupported or could not be determined for storage from the EndpointSuffix '%endpointSuffix;'.原因: 云类型不受支持,或者对于 EndpointSuffix 中的存储来说无法确定。
建议:使用另一个云中的存储,然后重试。
自定义
下表适用于 Azure Batch。
错误代码:2500
消息:
Hit unexpected exception and execution failed.原因:
Can't launch command, or the program returned an error code.建议:确保可执行文件存在。 如果程序已启动,请验证是否已将 stdout.txt 和 stderr.txt 上传到存储帐户。 良好的做法是在代码中包含用于调试的日志。
错误代码:2501
消息:
Cannot access user batch account; please check batch account settings.原因: Batch 访问密钥或池名称不正确。
建议:验证链接服务中的池名称和 Batch 访问密钥。
错误代码:2502
消息:
Cannot access user storage account; please check storage account settings.原因: 存储帐户名称或访问密钥不正确。
建议:验证链接服务中的存储帐户名称和访问密钥。
错误代码:2504
消息:
Operation returned an invalid status code 'BadRequest'.原因: 自定义活动的
folderPath中的文件过多。resourceFiles的总大小不能超过 32,768 个字符。建议:删除不必要的文件。或者压缩文件,并添加一个解压缩命令来解压缩文件。
例如,使用
powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory($zipFile, $folder); }" ; $folder\yourProgram.exe
错误代码:2505
消息:
Cannot create Shared Access Signature unless Account Key credentials are used.原因: 自定义活动仅支持使用访问密钥的存储帐户。
建议:请参阅错误说明。
错误代码:2507
消息:
The folder path does not exist or is empty: ...原因: 存储帐户的指定路径下没有文件。
建议:文件夹路径必须包含要运行的可执行文件。
错误代码:2508
消息:
There are duplicate files in the resource folder.原因: folderPath 的不同子文件夹中存在多个同名的文件。
建议:自定义活动在 folderPath 下平展文件夹结构。 如果需要保留文件夹结构,请压缩文件,并使用一个解压缩命令将其解压缩到 Azure Batch 中。
例如,使用
powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory($zipFile, $folder); }" ; $folder\yourProgram.exe
错误代码:2509
消息:
Batch url ... is invalid; it must be in Uri format.原因: Batch URL 必须类似于
https://mybatchaccount.chinaeast.batch.azure.cn建议:请参阅错误说明。
错误代码:2510
消息:
An error occurred while sending the request.原因: Batch URL 无效。
建议:验证 Batch URL。
HDInsight
错误代码:206
消息:
The batch ID for Spark job is invalid. Please retry your job.原因: 导致此错误的服务出现了内部问题。
建议:此问题可能是暂时性的。 请在一段时间后重试作业。
错误代码:207
消息:
Could not determine the region from the provided storage account. Please try using another primary storage account for the on demand HDI.原因: 尝试从主存储帐户确定区域时出现内部错误。
建议:尝试另一个存储。
错误代码:208
消息:
Service Principal or the MSI authenticator are not instantiated. Please consider providing a Service Principal in the HDI on demand linked service which has permissions to create an HDInsight cluster in the provided subscription and try again.原因: 尝试读取服务主体或实例化 MSI 身份验证时出现内部错误。
建议:请考虑提供一个有权在所提供订阅中创建 HDInsight 群集的服务主体,然后重试。 验证是否正确设置了托管标识。
错误代码:2300
消息:
Failed to submit the job '%jobId;' to the cluster '%cluster;'. Error: %errorMessage;.原因: 错误消息包含类似于
The remote name could not be resolved.的消息。 提供的群集 URI 可能无效。建议:验证是否未删除该群集且提供的 URI 正确。 在浏览器中打开该 URI 时,应会看到 Ambari UI。 如果该群集位于虚拟网络中,则 URI 应是专用 URI。 若要打开该 URI,请使用同一虚拟网络中的虚拟机 (VM)。
有关详细信息,请参阅直接连接到 Apache Hadoop 服务。
原因: 如果错误消息包含类似于
A task was canceled.的消息,则意味着作业提交超时。建议:这可能是普通的 HDInsight 连接问题或网络连接问题。 首先确认是否可以从任何浏览器打开 HDInsight Ambari UI。 然后检查凭据是否仍然有效。
如果使用自承载集成运行时 (IR),请从安装了自承载 IR 的 VM 或计算机执行此步骤。 然后再次尝试提交作业。
有关详细信息,请阅读 Ambari Web UI。
原因: 如果错误消息包含类似于“
User admin is locked out in Ambari”或“Unauthorized: Ambari user name or password is incorrect”的消息,则意味着 HDInsight 的凭据不正确或已过期。建议:更正凭据,然后重新部署链接服务。 首先在任何浏览器中打开群集 URI 并尝试登录,以便验证凭据在 HDInsight 中是否有效。 如果凭据无效,可从 Azure 门户重置凭据。
对于 ESP 群集,可通过自助式密码重置来重置密码。
原因: 如果错误消息包含类似于“
502 - Web server received an invalid response while acting as a gateway or proxy server”的消息,则此错误是 HDInsight 服务返回的。建议:当 Ambari 服务器进程已关闭时,往往会发生 502 错误。 可以通过重启头节点来重启 Ambari 服务。
使用 SSH 连接到 HDInsight 上的节点之一。
运行
ping headnodehost以识别活动头节点主机。当 Ambari 服务器位于活动头节点上时,使用 SSH 连接到活动头节点。
重启活动头节点。
有关详细信息,请参阅 Azure HDInsight 故障排除文档。 例如:
原因: 如果错误消息包含类似于“
Unable to service the submit job request as templeton service is busy with too many submit job requests”或“Queue root.joblauncher already has 500 applications, cannot accept submission of application”的消息,则意味着同时提交到 HDInsight 的作业过多。建议:限制提交到 HDInsight 的并发作业数。 如果这些作业是同一活动提交的,请参阅“活动并发性”。 更改触发器,以将并发管道运行分散到不同的时间。
请参阅 HDInsight 文档,根据错误中的建议调整
templeton.parallellism.job.submit。
错误代码:2301
消息:
Could not get the status of the application '%physicalJobId;' from the HDInsight service. Received the following error: %message;. Please refer to HDInsight troubleshooting documentation or contact their support for further assistance.原因: HDInsight 群集或服务出现问题。
建议:如果服务尝试请求正在运行的作业的状态时未收到 HDInsight 群集的响应,则会发生此错误。 此问题可能是群集本身造成的,也可能是 HDInsight 服务中断造成的。
请参阅 HDInsight 故障排除文档,或联系 Azure 支持以获取更多帮助。
错误代码:2302
消息:
Hadoop job failed with exit code '%exitCode;'. See '%logPath;/stderr' for more details. Alternatively, open the Ambari UI on the HDI cluster and find the logs for the job '%jobId;'. Contact HDInsight team for further support.原因: 作业已提交到 HDI 群集,但在群集上失败。
建议:
- 检查 Ambari UI:
- 确保所有服务仍在运行。
- 在 Ambari UI 中,检查仪表板中的警报部分。
- 有关警报的详细信息以及警报解决方法,请参阅管理和监视群集。
- 检查 YARN 内存。 如果 YARN 内存很高,作业处理可能会延迟。 如果没有足够的资源来适应 Spark 应用程序/作业,请纵向扩展群集,以确保群集具有足够的内存和核心。
- 运行示例测试作业。
- 如果在 HDInsight 后端运行相同的作业,请检查该作业是否成功。 有关示例运行的示例,请参阅运行 HDInsight 随附的 MapReduce 示例
- 如果作业在 HDInsight 上仍然失败,请检查要提供给支持人员的应用程序日志和信息:
- 检查作业是否已提交到 YARN。 如果作业尚未提交到 YARN,请使用
--master yarn。 - 如果应用程序已执行完毕,请收集 YARN 应用程序的开始时间和结束时间。 如果应用程序尚未执行完毕,请收集开始时间/启动时间。
- 使用
yarn logs -applicationId <Insert_Your_Application_ID>检查并收集应用程序日志。 - 检查并收集
/var/log/hadoop-yarn/yarn目录下的 YARN 资源管理器日志。 - 如果这些步骤不足以解决问题,请联系 Azure HDInsight 团队以获得支持,并提供上述日志和时间戳。
- 检查作业是否已提交到 YARN。 如果作业尚未提交到 YARN,请使用
错误代码:2303
消息:
Hadoop job failed with transient exit code '%exitCode;'. See '%logPath;/stderr' for more details. Alternatively, open the Ambari UI on the HDI cluster and find the logs for the job '%jobId;'. Try again or contact HDInsight team for further support.原因: 作业已提交到 HDI 群集,但在群集上失败。
建议:
- 检查 Ambari UI:
- 确保所有服务仍在运行。
- 在 Ambari UI 中,检查仪表板中的警报部分。
- 有关警报的详细信息以及警报解决方法,请参阅管理和监视群集。
- 检查 YARN 内存。 如果 YARN 内存很高,作业处理可能会延迟。 如果没有足够的资源来适应 Spark 应用程序/作业,请纵向扩展群集,以确保群集具有足够的内存和核心。
- 运行示例测试作业。
- 如果在 HDInsight 后端运行相同的作业,请检查该作业是否成功。 有关示例运行的示例,请参阅运行 HDInsight 随附的 MapReduce 示例
- 如果作业在 HDInsight 上仍然失败,请检查要提供给支持人员的应用程序日志和信息:
- 检查作业是否已提交到 YARN。 如果作业尚未提交到 YARN,请使用
--master yarn。 - 如果应用程序已执行完毕,请收集 YARN 应用程序的开始时间和结束时间。 如果应用程序尚未执行完毕,请收集开始时间/启动时间。
- 使用
yarn logs -applicationId <Insert_Your_Application_ID>检查并收集应用程序日志。 - 检查并收集
/var/log/hadoop-yarn/yarn目录下的 YARN 资源管理器日志。 - 如果这些步骤不足以解决问题,请联系 Azure HDInsight 团队以获得支持,并提供上述日志和时间戳。
- 检查作业是否已提交到 YARN。 如果作业尚未提交到 YARN,请使用
错误代码:2304
消息:
MSI authentication is not supported on storages for HDI activities.原因: 为 HDInsight (HDI) 链接服务或 HDI 活动中使用的存储链接服务配置了不受支持的 MSI 身份验证。
建议:为 HDI 链接服务或 HDI 活动中使用的存储帐户提供完整的连接字符串。
错误代码:2305
消息:
Failed to initialize the HDInsight client for the cluster '%cluster;'. Error: '%message;'原因:HDI 群集的连接信息不正确、提供的用户无权执行所需的操作,或者 HDInsight 服务在响应来自服务的请求时出现问题。
建议:验证用户信息是否正确,并验证是否可以在安装 IR(如果使用自承载 IR)的 VM 上的浏览器中打开 HDI 群集的 Ambari UI,或者是否可以从任何计算机(如果使用 Azure IR)打开此 UI。
错误代码:2306
消息:
An invalid json is provided for script action '%scriptActionName;'. Error: '%message;'原因: 为脚本操作提供的 JSON 无效。
建议:错误消息应有助于识别问题。 请修复 JSON 配置,然后重试。
有关详细信息,请查看 Azure HDInsight 按需链接服务。
错误代码:2310
消息:
Failed to submit Spark job. Error: '%message;'原因:服务已尝试使用 Livy API (livy/batch) 在 Spark 群集上创建批,但收到了错误。
建议:请按照错误消息解决问题。 如果信息不足以解决问题,请联系 HDI 团队,并向他们提供批 ID 和作业 ID - 可在服务“监视”页的活动运行输出中找到这些信息。 若要进一步进行故障排除,请收集批处理作业的完整日志。
若要详细了解如何收集完整日志,请参阅获取批处理作业的完整日志。
错误代码:2312
消息:
Spark job failed, batch id:%batchId;. Please follow the links in the activity run Output from the service Monitoring page to troubleshoot the run on HDInsight Spark cluster. Please contact HDInsight support team for further assistance.原因: 作业在 HDInsight Spark 群集上失败。
建议:点击服务“监视”页上的活动运行输出中的链接,排查 HDInsight Spark 群集上的运行问题。 联系 HDInsight 支持团队以获得更多帮助。
若要详细了解如何收集完整日志,请参阅获取批处理作业的完整日志。
错误代码:2313
消息:
The batch with ID '%batchId;' was not found on Spark cluster. Open the Spark History UI and try to find it there. Contact HDInsight support for further assistance.原因: 已在 HDInsight Spark 群集上删除该批。
建议:排查 HDInsight Spark 群集上的批问题。 联系 HDInsight 支持人员以获得更多帮助。
若要详细了解如何收集完整日志,请参阅获取批处理作业的完整日志,并与 HDInsight 支持人员共享完整日志,以获得更多帮助。
错误代码:2328
消息:
Failed to create the on demand HDI cluster. Cluster or linked service name: '%clusterName;', error: '%message;'原因: 错误消息应会显示问题的详细信息。
建议:错误消息应有助于排查问题。
错误代码:2329
消息:
Failed to delete the on demand HDI cluster. Cluster or linked service name: '%clusterName;', error: '%message;'原因: 错误消息应会显示问题的详细信息。
建议:错误消息应有助于排查问题。
错误代码:2331
消息:
The file path should not be null or empty.原因: 提供的文件路径为空。
建议:请提供存在的文件的路径。
错误代码:2340
消息:
HDInsightOnDemand linked service does not support execution via SelfHosted IR. Your IR name is '%IRName;'. Please select an Azure IR instead.原因: HDInsightOnDemand 链接服务不支持通过 SelfHosted IR 执行。
建议:选择一个 Azure IR,然后重试。
错误代码:2341
消息:
HDInsight cluster URL '%clusterUrl;' is incorrect, it must be in URI format and the scheme must be 'https'.原因: 提供的 URL 未采用正确的格式。
建议:修复群集 URL,然后重试。
错误代码:2342
消息:
Failed to connect to HDInsight cluster: '%errorMessage;'.原因: 为群集提供了错误的凭据、存在网络配置或连接问题,或者 IR 在连接到群集时出现问题。
建议:
通过在浏览器中打开 HDInsight 群集的 Ambari UI,验证凭据是否正确。
如果群集位于虚拟网络 (VNet) 中,而要使用的是自承载 IR,则 HDI URL 必须是 VNet 中的专用 URL,且应在群集名称后面列出
-int。例如,将
https://mycluster.azurehdinsight.cn/更改为https://mycluster-int.azurehdinsight.cn/。 请注意,-int位于mycluster的后面,.azurehdinsight.cn的前面如果群集位于 VNet 中,而使用的是自承载 IR,并且已使用专用 URL,但连接仍然失败,则表示安装 IR 的 VM 在连接到 HDI 时出现了问题。
连接到安装了 IR 的 VM,并在浏览器中打开 Ambari UI。 对群集使用专用 URL。 应该能够在浏览器中建立此连接。 如果不能,请联系 HDInsight 支持团队以获得更多帮助。
如果未使用自承载 IR,则 HDI 群集应可公开访问。 在浏览器中打开 Ambari UI,并检查它是否已打开。 如果群集或其上的服务出现任何问题,请联系 HDInsight 支持团队以获得帮助。
链接服务中使用的 HDI 群集 URL 必须可供 IR(自承载 IR 或 Azure IR)访问,这样才能通过连接测试,并使运行正常工作。 可以通过在 VM 或任意公共计算机上的浏览器中打开该 URL,来验证此状态。
错误代码:2343
消息:
User name and password cannot be null or empty to connect to the HDInsight cluster.原因: 用户名或密码为空。
建议:提供连接到 HDI 所需的正确凭据,然后重试。
错误代码:2345
消息:
Failed to read the content of the hive script. Error: '%message;'原因:脚本文件不存在,或服务无法连接到脚本所在的位置。
建议:验证脚本是否存在,以及关联的链接服务是否有适当的连接凭据。
错误代码:2346
消息:
Failed to create ODBC connection to the HDI cluster with error message '%message;'.原因:服务已尝试与 HDI 群集建立开放式数据库连接 (ODBC) 连接,但失败并出现错误。
建议:
- 确认已正确设置 ODBC/Java Database Connectivity (JDBC) 连接。
- 对于 JDBC,如果使用相同的虚拟网络,则可以从以下位置获取此连接:
Hive -> Summary -> HIVESERVER2 JDBC URL - 若要确保正确设置 JDBC,请参阅在 HDInsight 中通过 JDBC 驱动程序查询 Apache Hive。
- 对于开放式数据库 (ODB),请参阅教程:使用 ODBC 和 PowerShell 查询 Apache Hive 以确保设置正确。
- 对于 JDBC,如果使用相同的虚拟网络,则可以从以下位置获取此连接:
- 验证 Hiveserver2、Hive 元存储和 Hiveserver2 Interactive 是否处于活动运行状态。
- 检查 Ambari 用户界面 (UI):
- 确保所有服务仍在运行。
- 在 Ambari UI 中,检查仪表板中的警报部分。
- 有关警报的详细信息以及警报解决方法,请参阅管理和监视群集。
- 如果这些步骤不足以解决问题,请联系 Azure HDInsight 团队。
- 确认已正确设置 ODBC/Java Database Connectivity (JDBC) 连接。
错误代码:2347
消息:
Hive execution through ODBC failed with error message '%message;'.原因:服务已通过 ODBC 连接将要执行的 Hive 脚本提交到 HDI 群集,但脚本在 HDI 上失败。
建议:
- 确认已正确设置 ODBC/Java Database Connectivity (JDBC) 连接。
- 对于 JDBC,如果使用相同的虚拟网络,则可以从以下位置获取此连接:
Hive -> Summary -> HIVESERVER2 JDBC URL - 若要确保正确设置 JDBC,请参阅在 HDInsight 中通过 JDBC 驱动程序查询 Apache Hive。
- 对于开放式数据库 (ODB),请参阅教程:使用 ODBC 和 PowerShell 查询 Apache Hive 以确保设置正确。
- 对于 JDBC,如果使用相同的虚拟网络,则可以从以下位置获取此连接:
- 验证 Hiveserver2、Hive 元存储和 Hiveserver2 Interactive 是否处于活动运行状态。
- 检查 Ambari 用户界面 (UI):
- 确保所有服务仍在运行。
- 在 Ambari UI 中,检查仪表板中的警报部分。
- 有关警报的详细信息以及警报解决方法,请参阅管理和监视群集。
- 如果这些步骤不足以解决问题,请联系 Azure HDInsight 团队。
- 确认已正确设置 ODBC/Java Database Connectivity (JDBC) 连接。
错误代码:2348
消息:
The main storage has not been initialized. Please check the properties of the storage linked service in the HDI linked service.原因: 未正确设置存储链接服务属性。
建议:HDI 活动的主存储链接服务中仅支持完整的连接字符串。 验证你是否未使用 MSI 授权或应用程序。
错误代码:2350
消息:
Failed to prepare the files for the run '%jobId;'. HDI cluster: '%cluster;', Error: '%errorMessage;'原因: 提供的凭据(用于连接到文件所在的存储)不正确,或存储中不存在文件。
建议:此错误是在服务对 HDI 活动进行准备时发生的。服务在将作业提交到 HDI 之前,会尝试将文件复制到主存储。 请检查提供的位置是否存在文件以及存储连接是否正确。 HDI 活动不支持与 HDI 活动相关的存储帐户中的 MSI 身份验证,因此请验证这些链接服务是否有完整的密钥或者是否使用 Azure Key Vault。
错误代码:2351
消息:
Could not open the file '%filePath;' in container/fileSystem '%container;'.原因: 文件在指定的路径不存在。
建议:检查该文件是否确实存在,以及连接信息指向此文件的链接服务是否有正确的凭据。
错误代码:2352
消息:
The file storage has not been initialized. Please check the properties of the file storage linked service in the HDI activity.原因: 未正确设置文件存储链接服务属性。
建议:验证是否已正确配置文件存储链接服务的属性。
错误代码:2353
消息:
The script storage has not been initialized. Please check the properties of the script storage linked service in the HDI activity.原因: 未正确设置脚本存储链接服务属性。
建议:验证是否已正确配置脚本存储链接服务的属性。
错误代码:2354
消息:
The storage linked service type '%linkedServiceType;' is not supported for '%executorType;' activities for property '%linkedServicePropertyName;'.原因: 活动不支持存储链接服务类型。
建议:验证所选的链接服务是否为活动支持的类型之一。 HDI 活动支持 AzureBlobStorage 和 AzureBlobFSStorage 链接服务。
错误代码:2355
消息:
The '%value' provided for commandEnvironment is incorrect. The expected value should be an array of strings where each string has the format CmdEnvVarName=CmdEnvVarValue.原因: 为
commandEnvironment提供的值不正确。建议:验证提供的值是否类似于:
\"variableName=variableValue\" ]另外,验证每个变量是否仅在列表中出现一次。
错误代码:2356
消息:
The commandEnvironment already contains a variable named '%variableName;'.原因: 为
commandEnvironment提供的值不正确。建议:验证提供的值是否类似于:
\"variableName=variableValue\" ]另外,验证每个变量是否仅在列表中出现一次。
错误代码:2358
消息:
The value '%value;' for the required property 'TimeToLive' in the on demand HDInsight linked service '%linkedServiceName;' has invalid format. It should be a timespan between '00:05:00' and '24:00:00'.原因: 为必需属性
TimeToLive提供的值的格式无效。建议:更新该值,使其处于建议的范围内,然后重试。
错误代码:2359
消息:
The value '%value;' for the property 'roles' is invalid. Expected types are 'zookeeper', 'headnode', and 'workernode'.原因: 为属性
roles提供的值无效。建议:将该值更新为建议的值之一,然后重试。
错误代码:2360
消息:
The connection string in HCatalogLinkedService is invalid. Encountered an error while trying to parse: '%message;'.原因: 为
HCatalogLinkedService提供的连接字符串无效。建议:将该值更新为正确的 Azure SQL 连接字符串,然后重试。
错误代码:2361
消息:
Failed to create on demand HDI cluster. Cluster name is '%clusterName;'.原因:群集创建失败,并且服务未收到 HDInsight 服务返回的错误。
建议:打开 Azure 门户,尝试查找具有所提供名称的 HDI 资源,然后检查预配状态。 联系 HDInsight 支持团队以获得更多帮助。
错误代码:2362
消息:
Only Azure Blob storage accounts are supported as additional storages for HDInsight on demand linked service.原因: 提供的附加存储不是 Azure Blob 存储。
建议:提供 Azure Blob 存储帐户作为 HDInsight 按需链接服务的附加存储。
链接服务使用 HDInsight ESP 群集时出现 SSL 错误
消息:
Failed to connect to HDInsight cluster: 'ERROR [HY000] [Microsoft][DriverSupport] (1100) SSL certificate verification failed because the certificate is missing or incorrect.'原因: 此问题很可能与系统信任存储相关。
解决方法:你可以导航到 Microsoft Integration Runtime\4.0\Shared\ODBC Drivers\Microsoft Hive ODBC Driver\lib 路径,并打开 DriverConfiguration64.exe 以更改设置。
HDI 活动在为群集做准备时停滞
如果 HDI 活动在为群集做准备时停滞,请遵循以下准则:
确保超时大于下面所述的超时值,并等待执行完成或直至其超时,并在生存时间 (TTL) 其间等待,然后再提交新作业。
启动群集所花费的最大默认时间为 2 小时,如果有任何 init 脚本,这个时间将会增加,最多再增加 2 小时。
确保在同一区域中预配存储和 HDI。
确保用于访问 HDI 群集的服务主体有效。
如果问题仍然存在,作为解决方法,请删除 HDI 链接服务,然后使用新名称重新创建它。
Web 活动
错误代码:2001
消息:
The length of execution output is over limit (around 4MB currently).原因:执行输出大于 4 MB,但支持的最大输出响应有效负载为 4 MB。
建议:确保执行输出不超过 4 MB。 有关详细信息,请参阅如何横向扩展使用 Azure 数据工厂移动的数据的大小。
错误代码:2002
消息:
The payload including configurations on activity/dataSet/linked service is too large. Please check if you have settings with very large value and try to reduce its size.原因:尝试发送的有效负载太大。
建议:请参阅有效负载过大。
错误代码:2003
消息:
There are substantial concurrent external activity executions which is causing failures due to throttling under subscription <subscription id>, region <region code> and limitation <current limit>. Please reduce the concurrent executions. For limits, refer https://aka.ms/adflimits.原因:同时运行的活动过多。 同时触发过多管道时,可能会发生这种情况。
建议:减少管道并发。 可能需要分配管道的触发时间。
错误代码:2010
消息:
The Self-hosted Integration Runtime '<SHIR name>' is offline原因:自承载集成运行时脱机或 Azure 集成运行时已过期或未注册。
建议:确保自承载集成运行时正常运行。 有关详细信息,请参阅排查自承载集成运行时问题。
错误代码:2105
消息:
The value type '<provided data type>', in key '<key name>' is not expected type '<expected data type>'原因:动态内容表达式中生成的数据与键不匹配,导致 JSON 分析失败。
建议:查看关键字段并修复动态内容定义。
错误代码:2108
消息:
Error calling the endpoint '<URL>'. Response status code: 'NA - Unknown'. More details: Exception message: 'NA - Unknown [ClientSideException] Invalid Url: <URL>. Please verify Url or integration runtime is valid and retry. Localhost URLs are allowed only with SelfHosted Integration Runtime'原因:无法访问提供的 URL。 发生这种情况的原因可能是存在网络连接问题、无法分析 URL 或 Azure 集成运行时上正在使用 localhost URL。
建议:验证是否可以访问提供的 URL。
消息:
Error calling the endpoint '%url;'. Response status code: '%code;'原因: 某个根本性问题(例如网络连接问题、DNS 失败、服务器证书验证问题或超时)导致请求失败。
建议:使用 Fiddler/Netmon/Wireshark 验证请求。
使用 Fiddler
若要使用 Fiddler 创建受监视 Web 应用程序的 HTTP 会话,请执行以下步骤:
下载、安装并打开 Fiddler。
如果 Web 应用程序使用 HTTPS,请转到“工具”>“Fiddler 选项”>“HTTPS”。
在“HTTPS”选项卡中,选择“捕获 HTTPS 连接”和“解密 HTTPS 流量”。
如果应用程序使用 TLS/SSL 证书,请将 Fiddler 证书添加到设备。
请转到:“工具”>“Fiddler 选项” > “HTTPS”>“操作”>“将根证书导出到桌面”。>
转到“文件”>“捕获流量”来关闭捕获。 或者按 F12。
清除浏览器缓存以删除所有已缓存的项;必须重新下载这些项。
创建请求:
选择“编辑器”选项卡。
设置 HTTP 方法和 URL。
根据需要添加标头和请求正文。
选择“执行”。
再次打开流量捕获,并在页面上完成出问题的事务。
请转到:“文件”>“保存”>“所有会话”。
有关详细信息,请参阅 Fiddler 入门。
错误代码:2113
消息:
ExtractAuthorizationCertificate: Unable to generate a certificate from a Base64 string/password combination原因:无法根据 Base64 字符串/密码组合生成证书。
建议:验证使用的 Base64 编码 PFX 证书和密码组合是否正确。
错误代码:2403
消息:
Get access token from MSI failed for Datafactory <DF name>, region <region code>. Please verify resource url is valid and retry.原因:无法从提供的资源 URL 获取访问令牌。
建议:验证是否为托管标识提供了正确的资源 URL。
常规
REST 延续令牌 NULL 错误
错误消息: {"token":null,"range":{"min":..}
原因:跨多个分区/页面查询时,后端服务返回 JObject 格式的延续令牌,具有 3 个属性:令牌、最小和最大密钥范围,例如 {"token":null,"range":{"min":"05C1E9AB0DAD76","max":"05C1E9CD673398"}})。 根据源数据,查询结果可能为 0,这表示缺少令牌,尽管要提取的数据更多。
建议:当延续令牌不为空时,如字符串 {“token”:null,“range”:{“min”:“05C1E9AB0DAD76”,“max”:“05C1E9CD673398”}},需要使用上一个响应中的延续令牌再次调用 queryActivityRuns API。 你需要再次为查询 API 传递完整的字符串。 查询结果的后续页面中将会返回活动。 只要完整的延续令牌值不为 null,你需要继续查询,那么便可以忽略此页面中的空数组, 更多详情,请参阅 管道运行查询的 REST API。
活动停滞问题
如果观察到活动运行的时间比正常运行的时间长得多,并且几乎没有任何进展,则可能是停滞。 你可以尝试取消它,然后重试,看是否有帮助。 如果是复制活动,则可以参阅排查复制活动的性能问题一文,了解性能监视和故障排除;如果是数据流,请参阅映射数据流性能和优化指南。
有效负载太大
错误消息:The payload including configurations on activity/dataSet/linked service is too large. Please check if you have settings with very large value and try to reduce its size.
原因: 每个活动运行的有效负载包括活动配置、关联的数据集和链接服务配置(如果有),以及为每个活动类型生成的系统属性的一小部分。 如数据工厂和 Azure Synapse Analytics 的 Azure 限制文档中所述,此类有效负载大小限制为 896 KB。
建议: 达到此限制,很可能是因为从上游活动输出或外部传入了一个或多个大参数值,尤其是在控制流中跨活动传递实际数据时。 请检查是否可以减小大参数值,或调整管道逻辑以避免跨活动传递此类值,而改为在活动内处理此类值。
不受支持的压缩导致文件损坏
症状:你尝试解压缩存储在 blob 容器中的文件。 管道中的单个复制活动有一个压缩类型设置为“deflate64”(或任何不受支持的类型)的源。 此活动成功运行并生成包含在 zip 文件中的文本文件。 但是,文件中的文本有问题,该文件似乎已损坏。 当此文件在本地解压缩时,它是正常的。
原因:你的 zip 文件是通过“deflate64”算法压缩的,而 Azure 数据工厂的内部 zip 库仅支持“deflate”。 如果 zip 文件是由 Windows 系统压缩的,并且整体文件大小超过一定数量,Windows 将默认使用“deflate64”,而此算法在 Azure 数据工厂中不受支持。 另一方面,如果文件较小或你使用某些支持指定压缩算法的第三方 zip 工具,Windows 将默认使用“deflate”。
提示
实际上,Azure 数据工厂中的二进制格式和 Azure 数据工厂中带分隔符的文本格式都明确指出,Azure 数据工厂不支持“deflate64”格式。
执行管道会将数组参数作为字符串传递给子管道
错误消息:Operation on target ForEach1 failed: The execution of template action 'MainForEach1' failed: the result of the evaluation of 'foreach' expression '@pipeline().parameters.<parameterName>' is of type 'String'. The result must be a valid array.
原因:即使你在“执行管道”中创建数组类型的参数(如下图所示),管道也会失败。
这是因为有效负载作为字符串从父管道传递到子管道。 当我们检查传递给子管道的输入时,我们可以看到它。
建议:要解决此问题,我们可以利用“创建数组”功能,如下图所示。
然后,我们的管道将会成功。 在输入框中我们可以看到,传递的参数是一个数组。
相关内容
尝试通过以下资源获得故障排除方面的更多帮助: