FAQ-离线开发-shell节点提交spark-submit任务,运行超48小时后报错
更新时间: 2025-12-04 14:45:35
阅读 206
FAQ-离线开发-shell节点提交spark-submit任务,运行超48小时后报错
问题描述/异常栈
shell节点内通过spark-submit提交jar包运行,任务运行超过48小时后报错:DIGEST-MD5: IO error acquiring password


发现版本
所有版本解决方案
通过shell节点提交spark-submit任务时,手动指定keytab路径及pricipal。eg:${HADOOP_CONF_V3}/spark-submit \
--principal=${PRINCIPAL} \ --通过变量,手动指定principal
--keytab=${KEYTAB_FILE} \ --通过变量,手动指定keytab
--master yarn \
--deploy-mode cluster \
--executor-memory 12G \
......问题原因
1、直接通过shell节点提交spark-submit任务,spark任务使用的Kerberos票据为平台shell节点自动kinit的票据,48小时后会过期,导致上述报错;2、而spark-submit支持直接指定keytab,这样keytab随Spark Driver分发,long running 作业在 token 过期后可以拿keytab刷token续命;
3、但同时为防止spark-submit指定的keytab会与shell节点自动kinit的票据产生冲突,因此spark-submit任务在指定keytab时可通过变量获取平台shell节点kinit的同一pricipal和keytab,可避免票据冲突情况;
作者:曹俊
文档反馈
以上内容对您是否有帮助?