解决自定义Spark的jar包提交到yarn上使用cluster模式执行时报错keberos用户找不到问题

 一、概述

  在银行、基金和证券行业中,集群往往开启了kerberos安全验证,而如果用户创建kerberos用户的方式不对,就会产生各种各样的问题;比如当用户只创建了kerberos用户而没有将该用户名与系统用户绑定时,就会报错该用户找不到;涉及到shuffle操作的作业都会报类似的错误。

 

 

 二、错误的创建kerberos用户的方法

1、创建kerberos用户

  kadmin.local -q "addprinc -pw  123123 newhive"

 其中123123位密码

 newhive为用户名

2、进入到kadmin.local中生成新的keytab

    kadmin.local

3、生成用户的keytab文件

 ktadd -k /home/newhive/newhive.keytab -norandkey newhive

三、正确添加并创建kerberos用户的方法

  1、为linux创建用户 useradd -m   newhive

  2、修改linux用户newhive的密码 

   centos 修改密码方式为 :echo "新密码" | passwd 用户名 --stdin

    echo "123123" | passwd newhive--stdin

3、创建kerberos用户

  kadmin.local -q "addprinc -pw  123123 newhive"

 其中123123位密码

 newhive为用户名

4、进入到kadmin.local中生成新的keytab

    kadmin.local

5、生成用户的keytab文件

 ktadd -k /home/newhive/newhive.keytab -norandkey newhive

注意:-norandkey要加上,不然集群所有的用户的keytab信息都会重置

 

posted @ 2021-10-27 10:36  虎啸千峰  阅读(374)  评论(0编辑  收藏  举报