W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
YARN 是 Hadoop 的下一代集群管理器。它允許開發(fā)人員在網(wǎng)格上部署和執(zhí)行任意命令。如果您不熟悉 YARN 或 ApplicationMaster(AM)的概念,請閱讀 Hadoop 的 YARN 頁面。
Samza 與 YARN 的主要集成是 Samza ApplicationMaster 的形式。這是負(fù)責(zé)管理 YARN 網(wǎng)格中的 Samza 工作的代碼塊。它決定了當(dāng)流處理器發(fā)生故障時該怎么做,哪臺機(jī)器運(yùn)行 Samza 作業(yè)的 容器,等等。
當(dāng) Samza ApplicationMaster 啟動時,它執(zhí)行以下操作:
從這一點開始,ApplicationMaster 只對來自 RM 的事件做出反應(yīng),并將其委托給 ContainerAllocator 線程。
每當(dāng)分配一個容器時,AM 將使用 YARN NM 在容器中啟動一個 SamzaContainer(分配給它的適當(dāng)?shù)姆謪^(qū))。如果容器出現(xiàn)非零返回代碼,AM 將請求一個新容器,并重新啟動SamzaContainer。如果 SamzaContainer 失敗太多次太快,則 ApplicationMaster 將使整個 Samza 的作業(yè)以非零返回碼失敗。有關(guān)詳細(xì)信息,請參閱
yarn.container.retry.count 和 yarn.container.retry.window.ms 配置參數(shù)。
當(dāng) AM 從 YARN 接收到重新啟動信號時,它會拋出一個 SamzaException。這將引發(fā)清理和成功關(guān)閉 AM(YARN 不會認(rèn)為 AM 失?。?。
如果 AM 本身失敗,則 YARN 將處理重新啟動 AM。當(dāng) AM 重新啟動時,所有正在運(yùn)行的容器將被殺死,AM 將從頭開始。將執(zhí)行相同的操作列表,如上所示。AM 將為其 SamzaContainers 請求新的容器,并且像剛剛開始的那樣首先進(jìn)行。YARN 具有在 yarn-site.xml 中定義的 yarn.resourcemanager.am.max-retries 配置參數(shù)。此配置默認(rèn)為1,這意味著默認(rèn)情況下,單個 AM 故障將導(dǎo)致Samza作業(yè)停止運(yùn)行。
即使在安全模式下使用 YARN,Samza 儀表板的 HTTP 訪問目前仍未保護(hù)。這意味著訪問 YARN 網(wǎng)格的用戶可以對 Samza ApplicationMaster 的 HTTP 服務(wù)器進(jìn)行端口掃描,并在瀏覽器中打開儀表板來查看其內(nèi)容。任何人都可以看到敏感的配置,這樣就要小心了。有計劃使用 Hadoop的安全功能(SPENAGO)確保Samza的ApplicationMaster 。
有關(guān)詳細(xì)信息,請參閱Samza的 安全 頁面。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: