1. 程式人生 > 其它 >解決自定義Spark的jar包提交到yarn上使用cluster模式執行時報錯keberos使用者找不到問題

解決自定義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 -norandkeynewhive

三、正確新增並建立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 -norandkeynewhive

注意:-norandkey要加上,不然叢集所有的使用者的keytab資訊都會重置