问题:kerberos的keytabs凭证有效时间只有24h,sqoop server启动后过了24小时提交任务报认证过期提交失败。
原因:sqoop使用的jobClient是启动时创建的,并且每次submit,update或stop操作都没有刷新UGI。
具体代码位置是org.apache.sqoop.submission.mapreduce.MapreduceSubmissionEngine
解决方法:
在submit,stop,update添加代码
relogin方法:
这样就每次与yarn交互时都刷新了凭证