由于缺少Kerberos票证,yarn应用程序命令挂起

时间:2019-02-26 13:03:42

标签: authentication yarn kerberos cloudera gssapi

bash脚本中,我正在调用yarn application命令,以使当前应用程序在由Kerberos保护的Cloudera Hadoop集群上运行。如果我的应用程序未运行,则必须重新启动它:

spark_rtp_app_array=( $(yarn application --list -appTypes SPARK -appStates ACCEPTED,RUNNING | awk -F "\t" ' /'my_user'/ && /'my_app'/ {print $1}') )

每当Kerberos票证结束时,我都需要调用 kinit 命令,以便在调用yarn应用程序--list之前更新该票证:

kinit -kt my_keytab_file.keytab my_kerberos_user

否则,我可能会遇到一个身份验证错误,该错误会以不确定的方式不断重复以下跟踪信息:

19/02/13 15:00:22 WARN ipc.Client: Exception encountered while connecting to the server : javax.security.sasl.SaslException: GSS in\

itiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]

19/02/13 15:00:22 WARN security.UserGroupInformation: PriviledgedActionException as:my_kerberos_user (auth:KERBEROS) cause:java.io\

.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechan\

ism level: Failed to find any Kerberos tgt)]
[...]

是否可以将最大连接重试次数设置为YARN? bash脚本是在cron任务中执行的,因此不应以任何方式挂起。

0 个答案:

没有答案