您好,登錄后才能下訂單哦!
如何進(jìn)行多次修改CDH集群關(guān)聯(lián)的Kerberos域后Spark無法正常獲得短名稱映射的問題排查,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
環(huán)境:
CDH 6.3.1
Oracle JDK 1.8.0_181
已開啟Kerberos
癥狀表現(xiàn):
該集群曾經(jīng)更換了關(guān)聯(lián)的Kerberos域名稱,由XY.COM.CN改為了XY.COM。
現(xiàn)在又重新進(jìn)行了更換,由XY.COM重新改為了XY.COM.CN。
修改完成后,集群重啟,Cloudera Manager(以下簡(jiǎn)稱CM)顯示一切正常。
但是在使用Spark的過程中,發(fā)現(xiàn)在非Kerberos服務(wù)端的節(jié)點(diǎn),執(zhí)行spark的命令行工具(包括spark-shell、spark-submit等),就直接報(bào)錯(cuò)。提示獲取短名稱的規(guī)則不存在:
[main] util.KerberosName(KerberosName.java:getShortName(401)) - No auth_to_local rules applied to cloudera-scm/admin@XY.COM does not exist
解決過程:
從報(bào)錯(cuò)信息來看,spark-shell仍然嘗試用之前的Kerberos域名來進(jìn)行短名稱映射。
可以看到報(bào)錯(cuò)信息中,getShortName方法還是會(huì)去找Kerberos域“XY.COM”對(duì)應(yīng)的解析規(guī)則;然而現(xiàn)在這個(gè)Kerberos域XY.COM實(shí)際已經(jīng)不存在,現(xiàn)在的規(guī)則是對(duì)應(yīng)XY.COM.CN的,所以自然無法對(duì)cloudera-scm/admin@XY.COM應(yīng)用有效的短名稱規(guī)則。
CDH中,spark的命令行工具都是默認(rèn)讀取CM下發(fā)的配置文件,那么首先推測(cè)的情況,就有可能是集群關(guān)聯(lián)的Kerberos域修改后,CM沒有成功下發(fā)新的客戶端配置。
嘗試在CM界面刷新和重新部署各個(gè)服務(wù)的客戶端。但是沒有效果。還是會(huì)報(bào)同樣的錯(cuò)誤。
此時(shí)推斷是CM本身在應(yīng)對(duì)已經(jīng)實(shí)施Kerberos安全的集群的Kerberos域修改時(shí),下發(fā)客戶端配置的部分存在一些問題,導(dǎo)致沒有成功分發(fā)正確的配置文件。
那么我們必須找到一個(gè)能觸發(fā)涉及Kerberos主體映射相關(guān)配置文件下發(fā)的選項(xiàng),修改后重新進(jìn)行下發(fā),讓正確的配置覆蓋目前節(jié)點(diǎn)上的客戶端配置文件。
打開CM,找到HDFS服務(wù),找到配置項(xiàng)中的“將 Kerberos 主體映射到短名稱的其他規(guī)則”。
該選項(xiàng)本來是留給不符合標(biāo)準(zhǔn)Kerberos命名方式的主體自定義短名稱映射用的。正常情況下,只要是標(biāo)準(zhǔn)的Kerberos主體名稱形式(例如hive/manager1@XY.COM.CN,或者h(yuǎn)ive@XY.COM.CN),這個(gè)選項(xiàng)的默認(rèn)值“DEFAULT”就能正確拿到用戶名(例如hive/manager1@XY.COM.CN會(huì)被最終映射為短名稱hive),不需要我們手工再指定。
因?yàn)镠DFS是所有其他服務(wù)組件都要依賴的核心組件,我們通過這個(gè)選項(xiàng)的修改,肯定會(huì)觸發(fā)所有涉及認(rèn)證的服務(wù)的客戶端部署。
填入自定義映射規(guī)則的內(nèi)容,進(jìn)行保存,這個(gè)自定義映射規(guī)則實(shí)際等同于“DEFAULT”的效果:
RULE:[1:$1@$0](.*@\XY.COM.CN)s/@\XY.COM.CN//RULE:[2:$1@$0](.*@\XY.COM.CN)s/@\XY.COM.CN//
點(diǎn)擊保存。提示重啟服務(wù),這時(shí)勾選上重新部署客戶端。
重啟完成后,重新運(yùn)行spark-shell,一切正常!問題解決。
看完上述內(nèi)容,你們掌握如何進(jìn)行多次修改CDH集群關(guān)聯(lián)的Kerberos域后Spark無法正常獲得短名稱映射的問題排查的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。