开发者社区 问答 正文

E-MapReduce 在开启Kerberos认证之后,从阿里云控制台向yarn提交的任务鉴权失败

控制台返回的错误信息

ERROR HasClient: Failed to get client token plugin from config: Unregistered plugin EMR

Client: Exception encountered while connecting to the server : javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]

查看has的认证日志发现错误信息

INFO{KdcHandler.java:177}-KRB error occurred while processing request: Additional pre-authentication required INFO{AsRequest.java:112}-AS_REQ ISSUE: authtime 1566224343616,*********@*********.COM for *********.COM@****.COM INFO{TgsRequest.java:117}-TGS_REQ ISSUE: authtime 1566224344775,********@************.COM for *********.COM@******.COM ERROR{AliyunEMRServerPlugin.java:72}-No CKI found ERROR{HasApi.java:299}-Failed to verify auth token: No CKI found ERROR{AliyunEMRServerPlugin.java:72}-No CKI found ERROR{HasApi.java:299}-Failed to verify auth token: No CKI found ERROR{AliyunEMRServerPlugin.java:72}-No CKI found ERROR{HasApi.java:299}-Failed to verify auth token: No CKI found ERROR{AliyunEMRServerPlugin.java:72}-No CKI found ERROR{HasApi.java:299}-Failed to verify auth token: No CKI found ERROR{AliyunEMRServerPlugin.java:72}-No CKI found ERROR{HasApi.java:299}-Failed to verify auth token: No CKI found ERROR{AliyunEMRServerPlugin.java:72}-No CKI found ERROR{HasApi.java:299}-Failed to verify auth token: No CKI found ERROR{AliyunEMRServerPlugin.java:72}-No CKI found ERROR{HasApi.java:299}-Failed to verify auth token: No CKI found

哪位大佬遇到过这个问题,还望讲解一下,这个问题怎么解决,这个CKI是什么?

展开
收起
1514306345095245 2019-08-20 19:58:13 1573 分享 版权
阿里云 AI 助理回答

遇到您描述的问题,看起来是与阿里云E-MapReduce(EMR)服务的客户端认证失败相关,特别是涉及到Kerberos认证的问题。CKI在这里可能指的是“Client Keytab Identifier”或者某种客户端认证密钥标识,但具体到阿里云EMR文档或官方说明中,并没有直接提及“CKI”这一术语,因此这里的理解基于上下文推测。

错误信息表明在尝试连接到服务器时遇到了SASL(Simple Authentication and Security Layer)和Kerberos认证问题,主要原因是未能找到有效的Kerberos票证授予票据(TGT, Ticket Granting Ticket),这是进行进一步Kerberos认证的前提。

解决这类问题通常需要以下几个步骤:

  1. 检查Kerberos配置:确保您的环境正确配置了Kerberos,包括krb5.conf文件中的realm、KDC(Key Distribution Center)地址等信息是否正确无误。

  2. 生成并分发Keytab文件:对于使用EMR的场景,您需要为每个需要访问集群的服务或用户生成一个Keytab文件。这个文件包含了预先加密的密钥,允许无密码登录。请确保您的客户端机器上有正确的Keytab文件,并且该Keytab文件包含了对应服务或用户的密钥条目。

  3. 设置环境变量:确保环境变量如KRB5_CONFIG指向正确的krb5.conf位置,以及在执行命令前通过kinit -kt your_keytab_file principal_name来获取TGT。

  4. 检查EMR安全配置:登录阿里云控制台,检查您的EMR集群的安全配置,确认是否正确启用了Kerberos安全模式,并且相关的角色和服务账号已经正确配置。

  5. 时间同步:Kerberos对时间敏感,确保所有涉及认证的服务器和客户端的时间同步准确,最好与KDC服务器时间保持一致。

  6. 查看日志详细信息:深入分析Kerberos和EMR的日志文件,可能会提供更多关于为何无法找到有效凭证或CKI的具体原因。

如果以上步骤不能解决问题,建议联系阿里云技术支持,提供详细的错误信息和操作步骤,以便获得更专业的帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答