W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
您可以安全的在 YARN 群集上運(yùn)行 Samza 作業(yè)。YARN 使用 Kerberos 作為其認(rèn)證和授權(quán)機(jī)制。有關(guān) Hadoop 安全模式的詳細(xì)信息,請(qǐng)參閱此文章。
在安全的 YARN 群集上運(yùn)行長期應(yīng)用程序的挑戰(zhàn)之一是其 token 更新策略。Samza 采取以下方法來管理 token 創(chuàng)建和更新。
默認(rèn)情況下,任何 HDFS 委托 token 的最長使用期限為7天(由 dfs.namenode.delegation.token.max-lifetimehdfs-site.xml 配置), token 通常每24小時(shí)更新一次(由dfs.namenode.delegation.token.renew-intervalhdfs-site.xml 配置)。如果應(yīng)用程序主機(jī)死機(jī),需要在7天后重啟?存儲(chǔ)在啟動(dòng)器上下文中的原始 HDFS 委托 token 無論如何都是無效的。幸運(yùn)的是,Samza 可以依靠 Resource Manager 來處理這種情況。有關(guān)詳細(xì)信息,請(qǐng)參閱以下配置部分:
當(dāng) ApplicationMaster 啟動(dòng)時(shí),它產(chǎn)生 SamzaAppMasterSecurityManager,它在其單獨(dú)的線程上運(yùn)行。該 SamzaAppMasterSecurityManager 負(fù)責(zé)通過給定的 Kerberos 密鑰表定期登錄和定期再生 HDFS 委托 token 。每次運(yùn)行后,它會(huì)在 HDFS 上的預(yù)定義的作業(yè)特定目錄上寫入新的 token 。該過程的頻率由下式確定 yarn.token.renewal.interval.seconds。
每個(gè)容器,一開始就運(yùn)行一個(gè) SamzaContainerSecurityManager。它從 HDFS 上的憑據(jù)文件讀取,并以相同的間隔刷新其授權(quán) token 。
yarn.kerberos.principal=user/localhost
yarn.kerberos.keytab=/etc/krb5.keytab.user
yarn.token.renewal.interval.seconds=86400
* When Application Master dies unexpectedly and needs a restart after 7 days (the default maximum lifespan a delegation token can be renewed).
* When the Samza job terminates and log aggregation is turned on for the job. Node managers need to be able to upload all the local application logs to HDFS.
1. Enable the resource manager as a privileged user in yarn-site.xml.
<property>
<name>yarn.resourcemanager.proxy-user-privileges.enabled</name>
<value>true</value>
</property>
2. Make `yarn` as a proxy user, in core-site.xml
<property>
<name>hadoop.proxyuser.yarn.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.yarn.groups</name>
<value>*</value>
</property>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: