在Spark SQL中执行delete和drop操作时,出现数据删除失败异常
在Spark SQL中执行delete和drop操作时,出现数据删除失败异常
现象描述
安全模式下,在Spark SQL中执行delete和drop操作时,出现HDFS数据删除失败异常。
javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)] at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:211) at org.apache.hadoop.security.SaslRpcClient.saslConnect(SaslRpcClient.java:418) at org.apache.hadoop.ipc.Client$Connection.setupSaslConnection(Client.java:581) at org.apache.hadoop.ipc.Client$Connection.access$1900(Client.java:394) at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:764) at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:760)
可能原因
HDFS认证凭证过期。
定位思路
无。
处理步骤
HDFS中用户指定路径文件的数据需要用户手工删除。
登录HDFS,利用hdfs dfs -rm <path>或者hadoop fs -rm <path>
命令删除HDFS中指定路径文件的数据。

说明:
当HDFS服务不可用或者网络中断时,在Spark SQL中执行delete和drop操作时,需要确认下HDFS中用户指定路径文件的数据是否删除成功,若删除失败需要用如上的HDFS命令删除。