前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0820-CDSW在Session中运行代码超过一次就报错问题分析

0820-CDSW在Session中运行代码超过一次就报错问题分析

作者头像
Fayson
发布2020-12-14 14:49:49
6610
发布2020-12-14 14:49:49
举报
文章被收录于专栏:Hadoop实操Hadoop实操

问题描述

在CDSW中启动一个Session然后运行代码,第一次能够正常运行,在第一次运行完成后不关闭Session,在同一个Session中再次运行代码,此时就会出现报错,主要的报错信息为“Delegation Token can be issued only with kerberos or web authentication”,报错的截图如下:

问题分析过程

由于这个报错出现在CDSW服务中,因此首先需要确认是CDSW侧导致的问题还是CDH侧导致的问题。

针对报错的Session,到CDSW所在服务器通过kubectl命令获取到Session的日志,在日志中并无报错的信息,日志截图如下:

在Session日志中没有查看到有效信息的情况下,在启动Session的Terminal中执行了两次同样的代码,第二次依然报错;在这之后,在CDSW的Master节点,通过启动pyspark-shell命令行的方式提交了两次同样的代码,第二次和之前一样报错,通过上面的测试,我们可以得出该问题与CDSW无关,由于报错的作业类型是PySpark,因此我们将问题的重点转移到CDH集群的Spark上,目前报错的环境使用的Spark版本是Spark2.2.0-cloudera1,下面针对Spark来分析该问题。

通过报错信息分析是与认证相关的报错,通过查询资料在Apache官网上找到了相关的jira,编号为SPARK-21890,链接如下:

代码语言:javascript
复制
https://issues.apache.org/jira/browse/SPARK-21890

该jira描述Spark Client已经拥有了hdfs token,但是Spark Client本身无法感知到该hdfs token已获取,因此还是会继续请求,同时hdfs credentials provider对于这种已有凭据的请求不会进行任何处理,因此导致了Delegation Token的报错,详情可以查阅上面的jira链接,同时该jira影响的版本是Spark2.2.0,与行内使用的Spark版本相符,在与Support沟通后,确认了问题是该jira导致。

问题处理结论

基于该问题是Spark版本的bug导致,因此从根本上解决该问题的方式是升级行内的Spark版本,目前行内所使用的Spark2.2.0是一个比较老的版本,该版本在CDH5.16.2上其实已经不支持了,参考下面链接:

代码语言:javascript
复制
https://docs.cloudera.com/documentation/spark2/latest/topics/spark2_requirements.html

目前行内的集群由于是从5.13升级上来的,因此还在继续使用该版本的Spark,建议将行内的Spark版本升级到Spark2.4,一方面来说Spark2.4是Spark2的最高版本,相比Spark2.2多了新特性以及一些bug的修复,同时行内之前也有业务人员提出过更高版本Spark的需求,另一方面CDH6以及目前CDP7.1.4打包的都是Spark2.4。

CDH中Spark各版本对应的fix可以参考下面的链接:

代码语言:javascript
复制
https://docs.cloudera.com/documentation/spark2/latest/topics/spark2_fixed_issues.html

在进行Spark版本升级之前,如果遇到多次执行代码时遇到该报错,那么停止当前Session后,重新打开一个新的Session再运行代码即可。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档