W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在共享的分布式環(huán)境中運行 Samza 作業(yè)時,流處理器可能會對對方的性能產(chǎn)生影響。使用100% 計算機 CPU 的流處理器將減慢計算機上的所有其他流處理器的速度。
YARN 的一個職責是管理資源,使這種情況不會發(fā)生。每個 YARN 的節(jié)點管理器(NM)都有一大堆“資源”專用于它。如果 YARN 資源管理器(RM)有足夠的資源來滿足容器的需求,則只允許在 NM 上分配容器。
YARN 目前支持內(nèi)存和 CPU 的資源管理。
YARN 將自動對其執(zhí)行的所有容器執(zhí)行內(nèi)存限制。所有容器必須在創(chuàng)建時定義最大內(nèi)存大小。如果與單個 YARN 容器相關聯(lián)的進程的所有內(nèi)存使用量的總和超過此最大值,則 YARN 將終止該容器。
Samza 使用 yarn.container.memory.mb 和 yarn.am.container.memory.mb 配置參數(shù)支持內(nèi)存限制。請記住,這只是 YARN 將允許 SamzaContainer 或 ApplicationMaster 擁有的內(nèi)存量。當使用 Java(默認為 -Xmx160M)時,仍然需要使用 task.opts 來適當?shù)嘏渲枚言O置。有關詳細信息,請參閱配置和打包頁面。
YARN 具有虛擬核心的概念。每個 NM 被分配了總數(shù)量的虛擬內(nèi)核(默認為32)。當發(fā)出容器請求時,它必須指定需要多少虛擬內(nèi)核。YARN RM 將僅將容器分配給具有足夠虛擬內(nèi)核以滿足請求的 NM。
與內(nèi)存不同,YARN 可以強制執(zhí)行(通過查看 / proc文件夾),YARN 無法強制執(zhí)行 CPU 隔離,因為這必須在 Linux 內(nèi)核級完成。YARN 的一個有趣的新功能是支持 Linux CGroups。CGroups 是一種控制 Linux 內(nèi)核級進程利用率的方法。
如果 YARN 設置為使用 CGroups,則 YARN 將保證容器至少獲得所需的 CPU 數(shù)量。目前,YARN 將為您提供更多的 CPU,如果可用。有關執(zhí)行“最多”CPU使用情況的詳細信息,請參閱 YARN-810。
有關使用 CGroup 設置 YARN 的詳細信息,請參閱此博文。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: