99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Samza YARN安全

2018-08-22 18:20 更新

您可以安全的在 YARN 群集上運行 Samza 作業(yè)。YARN 使用 Kerberos 作為其認(rèn)證和授權(quán)機(jī)制。有關(guān) Hadoop 安全模式的詳細(xì)信息,請參閱此文章。

授權(quán) token 管理策略

在安全的 YARN 群集上運行長期應(yīng)用程序的挑戰(zhàn)之一是其 token 更新策略。Samza 采取以下方法來管理 token 創(chuàng)建和更新。

  1. 運行 Samza 應(yīng)用程序的客戶需要使用 kinit 的憑據(jù)激活到 KDC,并在提交應(yīng)用程序之前將 HDFS 代理 token 添加到啟動器上下文。
  2. 接下來,客戶端為應(yīng)用程序準(zhǔn)備本地資源,如下所示:(1)首先,它在 HDFS 上創(chuàng)建一個暫存目錄。該目錄只能由正在運行的用戶訪問,用于存儲應(yīng)用程序主(AM)和容器所需的資源。(2)然后客戶端將該 keytab 作為本地資源添加到 AM 的容器啟動器上下文中。(3)最后,它將相應(yīng)的主體和路徑發(fā)送到臨時目錄中的 keytab 文件到協(xié)調(diào)器流。Samza 目前使用登臺目錄來存儲 keytab 和刷新的 token ,因為通過 Kerberos 保護(hù)對目錄的訪問。
  3. 一旦資源被分配給應(yīng)用程序主服務(wù)器,節(jié)點管理器將使用啟動器上下文中的 HDFS 委托 token 將 HDFS 中的應(yīng)用程序資源本地化。同樣的規(guī)則也適用于集裝箱本地化。
  4. 當(dāng)應(yīng)用程序主機(jī)啟動時,它將 keytab 文件本地化到其工作目錄中,并從協(xié)調(diào)器流中讀取主體。
  5. 應(yīng)用程序主程序會定期對給定的主鍵和 keytab 進(jìn)行身份驗證。在每次迭代中,它創(chuàng)建新的委托 token ,并將它們存儲在 HDFS 上的給定作業(yè)特定登臺目錄中。
  6. 每個正在運行的容器將在 HDFS 的憑據(jù)文件中獲得新的授權(quán) token ,然后才能到期。
  7. 應(yīng)用程序主容器和容器不會相互通信。每個方面通過在 HDFS 上閱讀或?qū)懭?token 來獨立進(jìn)行。

默認(rèn)情況下,任何 HDFS 委托 token 的最長使用期限為7天(由 dfs.namenode.delegation.token.max-lifetimehdfs-site.xml 配置), token 通常每24小時更新一次(由dfs.namenode.delegation.token.renew-intervalhdfs-site.xml 配置)。如果應(yīng)用程序主機(jī)死機(jī),需要在7天后重啟?存儲在啟動器上下文中的原始 HDFS 委托 token 無論如何都是無效的。幸運的是,Samza 可以依靠 Resource Manager 來處理這種情況。有關(guān)詳細(xì)信息,請參閱以下配置部分:

組件

安全管理器

當(dāng) ApplicationMaster 啟動時,它產(chǎn)生 SamzaAppMasterSecurityManager,它在其單獨的線程上運行。該 SamzaAppMasterSecurityManager 負(fù)責(zé)通過給定的 Kerberos 密鑰表定期登錄和定期再生 HDFS 委托 token 。每次運行后,它會在 HDFS 上的預(yù)定義的作業(yè)特定目錄上寫入新的 token 。該過程的頻率由下式確定 yarn.token.renewal.interval.seconds。

每個容器,一開始就運行一個 SamzaContainerSecurityManager。它從 HDFS 上的憑據(jù)文件讀取,并以相同的間隔刷新其授權(quán) token 。

組態(tài)

  1. 對于 Samza 作業(yè),在啟用安全性的 YARN 群集上需要以下作業(yè)配置:#Job job.security.manager.factory = org.apache.samza.job.yarn.SamzaYarnSecurityManagerFactory

YARN

yarn.kerberos.principal=user/localhost
yarn.kerberos.keytab=/etc/krb5.keytab.user
yarn.token.renewal.interval.seconds=86400
  1. 配置 Hadoop 集群以使資源管理器能夠代表應(yīng)用程序用戶重新創(chuàng)建和更新委托 token 。這將解決以下2種情況:
* 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>

寫入 HDFS   ?

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號