解決自定義Spark的jar包提交到yarn上使用cluster模式執行時報錯keberos使用者找不到問題
阿新 • • 發佈:2021-10-27
一、概述
在銀行、基金和證券行業中,叢集往往開啟了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資訊都會重置