Synapse Spark Pool Livy任务终止,HTTP请求认证失败求助
解决Synapse Spark Pool LIVY_JOB_STATE_DEAD错误
问题根源定位
从Spark日志的核心错误信息可直接确定问题:
Invalid JobSessionToken : IDX10249: X509SecurityKey validation failed. The associated certificate has expired. ValidTo (UTC): '1/28/2023 7:18:14 AM', Current time (UTC): '1/30/2023 7:06:05 PM'
用于生成JobSessionToken的X509证书已过期,导致Spark池访问Azure资源时认证失败,最终触发LIVY_JOB_STATE_DEAD状态。
排查与修复步骤
确认过期证书关联对象
- 检查Synapse工作区绑定的服务主体:若Spark池通过服务主体访问ADLS Gen2等存储资源,查看该服务主体的证书有效期,确认是否存在过期证书。
- 检查Synapse托管内部证书:部分
JobSessionToken使用Synapse自动生成的托管证书,需在Azure门户的Synapse工作区设置中查看相关证书状态。
修复操作
- 替换过期证书:
- 自定义服务主体证书:生成新的有效X509证书,上传至Azure AD对应服务主体,更新Spark池相关的链接服务、Spark配置中的认证参数。
- Synapse托管证书:重启Synapse工作区或目标Spark池,触发系统自动生成新证书(特殊场景需联系Azure支持协助)。
- 重启目标Spark池,确保新证书加载生效。
- 提交测试任务验证:运行简单Spark任务,确认认证正常、错误状态消除。
- 替换过期证书:
用户提供的原始错误日志
Livy错误信息
Error code 1 LIVY_JOB_STATE_DEAD Message [plugins.synapse-ent-tekura.sparkpoolsmall.180 WorkspaceType:<Synapse> CCID:<b6f6c9c4-250d-44c3-9c28-bce4525c42df>] [Monitoring] Livy Endpoint=[https://<url>:8001/api/v1.0/publish/1567bc8e-206c-475f-bf1f-7c550c17a6d6]. Livy Id=[23] Job failed during run time with state=[dead].
Spark核心错误栈
Caused by: org.apache.hadoop.fs.azurebfs.oauth2.AzureADAuthenticator$HttpException: HTTP Error -1CustomTokenProvider getAccessToken threw java.io.IOException : POST failed with 'Unauthorized' (401) and message: {"result":"UserError","errorId":"Unauthorized","errorMessage":"Invalid JobSessionToken : IDX10249: X509SecurityKey validation failed. The associated certificate has expired. ValidTo (UTC): '1/28/2023 7:18:14 AM', Current time (UTC): '1/30/2023 7:06:05 PM'.. TraceId : f51d91bd-f786-4225-a223-e9401cf58527. Error Component : TokenService"} at org.apache.hadoop.fs.azurebfs.oauth2.CustomTokenProviderAdapter.refreshToken(CustomTokenProviderAdapter.java:91) at org.apache.hadoop.fs.azurebfs.oauth2.AccessTokenProvider.getToken(AccessTokenProvider.java:50) at org.apache.hadoop.fs.azurebfs.services.AbfsClient.getAccessToken(AbfsClient.java:1055) at org.apache.hadoop.fs.azurebfs.services.AbfsRestOperation.executeHttpOperation(AbfsRestOperation.java:256) ... 26 more
内容的提问来源于stack exchange,提问作者tejeswar reddy
相关产品推荐
相关产品推荐

