×

Samza 入门

Samza 你好Samza 下载Samza 功能预览

Samza 详细介绍

Samza 背景Samza 概念Samza 结构

Samza 与其他流处理项目比较

Samza 比较介绍Samza MUPD8Samza 与 StormSamza 与 Spark Streaming

Samza API

Samza API概述

Samza 核心

Samza ContainerSamza 流Samza 序列化Samza 定期检查Samza 状态管理Samza 窗口功能Samza 协调器流Samza 事件循环Samza 指标Samza JMX

Samza 作业部署

Samza JobRunnerSamza 配置Samza 打包Samza YARN工作Samza 记录Samza 再处理Samza Web UI和REST APISamza 分离框架和作业部署

Samza YARN

Samza Application MasterSamza YARN执行隔离Samza 主机关联和 YARNSamza YARN资源本地化Samza YARN安全Samza 写入HDFSSamza 从HDFS文件读取

Samza 相关操作

Samza 安全Samza Kafka自动创建主题

Samza REST服务

Samza REST服务概观Samza REST服务资源Samza REST服务监视器

Samza 附录

附录一 工作资源附录二 任务资源附录三 远程调试附录四 从HDFS部署Samza工作附录五 部署Samza Job到CDH附录六 在多节点YARN中运行附录七 在没有联网的情况下运行附录八 Samza REST入门附录九 Async API和多线程指南附录十 代码附录十一 Samza配置参考

Samza YARN执行隔离


在共享的分布式环境中运行 Samza 作业时,流处理器可能会对对方的性能产生影响。使用100% 计算机 CPU 的流处理器将减慢计算机上的所有其他流处理器的速度。

YARN 的一个职责是管理资源,使这种情况不会发生。每个 YARN 的节点管理器(NM)都有一大堆“资源”专用于它。如果 YARN 资源管理器(RM)有足够的资源来满足容器的需求,则只允许在 NM 上分配容器。

YARN 目前支持内存和 CPU 的资源管理。

内存

YARN 将自动对其执行的所有容器执行内存限制。所有容器必须在创建时定义最大内存大小。如果与单个 YARN 容器相关联的进程的所有内存使用量的总和超过此最大值,则 YARN 将终止该容器。

Samza 使用 yarn.container.memory.mb 和 yarn.am.container.memory.mb 配置参数支持内存限制。请记住,这只是 YARN 将允许 SamzaContainer 或 ApplicationMaster 拥有的内存量。当使用 Java(默认为 -Xmx160M)时,仍然需要使用 task.opts 来适当地配置堆设置。有关详细信息,请参阅配置打包页面。

CPU

YARN 具有虚拟核心的概念。每个 NM 被分配了总数量的虚拟内核(默认为32)。当发出容器请求时,它必须指定需要多少虚拟内核。YARN RM 将仅将容器分配给具有足够虚拟内核以满足请求的 NM。

CGroups

与内存不同,YARN 可以强制执行(通过查看 / proc文件夹),YARN 无法强制执行 CPU 隔离,因为这必须在 Linux 内核级完成。YARN 的一个有趣的新功能是支持 Linux CGroups。CGroups 是一种控制 Linux 内核级进程利用率的方法。

如果 YARN 设置为使用 CGroups,则 YARN 将保证容器至少获得所需的 CPU 数量。目前,YARN 将为您提供更多的 CPU,如果可用。有关执行“最多”CPU使用情况的详细信息,请参阅 YARN-810。

有关使用 CGroup 设置 YARN 的详细信息,请参阅此博文。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)