更新時(shí)間:2022年12月29日13時(shí)36分 來源:傳智教育 瀏覽次數(shù):
Hadoop需要Kerberos來進(jìn)行認(rèn)證,以啟動(dòng)服務(wù)來說,在后面配置 hadoop 的時(shí)候我們會(huì)給 對(duì)應(yīng)服務(wù)指定一個(gè)Kerberos的賬戶,比如 namenode 運(yùn)行在cdh0機(jī)器上,我們可能將 namenode 指定給了 nn/cdh0.itcast.cn@ITCAST.CN 這個(gè)賬戶, 那么 想要啟動(dòng) namenode 就必須認(rèn)證 這個(gè)賬戶才可以。
1. 在每個(gè)節(jié)點(diǎn)執(zhí)行 mkdir /etc/security/keytabs。
2. 配置cdh0上面運(yùn)行的服務(wù)對(duì)應(yīng)的Kerberos賬戶。
執(zhí)行 kadmin 輸入密碼, 進(jìn)入Kerberos的admin后臺(tái) 創(chuàng)建namenode的賬戶 addprinc -randkey nn/cdh0.itcast.cn@ITCAST.CN 創(chuàng)建secondarynamenode的賬戶 addprinc -randkey sn/cdh0.itcast.cn@ITCAST.CN 創(chuàng)建用于https服務(wù)的相關(guān)賬戶 addprinc -randkey HTTP/cdh0.itcast.cn@ITCAST.CN # 防止啟動(dòng)或者操作的過程中需要輸入密碼,創(chuàng)建免密登錄的keytab文件 # 創(chuàng)建nn賬戶的keytab ktadd -k /etc/security/keytabs/nn.service.keytab nn/cdh0.itcast.cn@ITCAST.C # 創(chuàng)建sn賬戶的keytab ktadd -k /etc/security/keytabs/sn.service.keytab sn/cdh0.itcast.cn@ITCAST.CN # 創(chuàng)建HTTP賬戶的keytab ktadd -k /etc/security/keytabs/spnego.service.keytab HTTP/cdh0.itcast.cn@ITCAST.CN 最終得到: -r-------- 1 hdfs hadoop 406 Sep 26 11:11 nn.service.keytab -r-------- 1 hdfs hadoop 406 Sep 26 11:13 sn.service.keytab -r-------- 1 hdfs hadoop 418 Sep 26 12:20 spnego.service.keytab
3. 配置cdh1 和 cdh2 上面運(yùn)行的服務(wù)對(duì)應(yīng)的Kerberos賬戶,分別在cdh1 和 cdh2上執(zhí)行以下操作:
kadmin 進(jìn)入admin后臺(tái) # 創(chuàng)建datanode的賬戶 addprinc -randkey dn/cdh1.itcast.cn@ITCAST.CN # 如果是cdh2機(jī)器 使用 cdh2.itcast.cn # 創(chuàng)建datanode需要使用的https相關(guān)服務(wù)賬戶 addprinc -randkey HTTP/cdh1.itcast.cn@ITCAST.CN # 如果是cdh2機(jī)器 使用 cdh2.itcast.cn # 添加keytab ktadd -k /etc/security/keytabs/dn.service.keytab dn/cdh1(或者 2).itcast.cn@ITCAST.CN ktadd -k /etc/security/keytabs/spnego.service.keytab HTTP/cdh1(或者 2).itcast.cn@ITCAST.CN 最終得到: -r-------- 1 hdfs hadoop 406 Sep 26 11:18 dn.service.keytab -r-------- 1 hdfs hadoop 418 Sep 26 12:22 spnego.service.keytab
4. 在cdh0 cdh1 cdh2 上將剛剛得到的 keytab文件全部設(shè)置: chown hdfs:hadoop 以及 chmod 400。
北京校區(qū)