×

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 REST服务监视器


Samza REST支持向服务添加监视器的功能。监视器本质上是可以定期运行的任务。它为用户提供了定义于特定单个监视器的配置的能力。这些配置通过 Config 实例注入到监视器实例中。

监视器配置

监视器的所有配置键应带有 monitor.{monitorName} 的前缀。由于每个监视器预期具有唯一的名称,因此这些前缀在监视器配置中提供命名空间。

每个监视器都需要以下配置。

名称 默认 描述
monitor.monitorName.scheduling.interval.ms 这定义了名为monitorName的监视器的周期调度间隔(以毫秒为单位)。如果未定义此配置,则默认为60秒。
monitor.monitorName.factory.class 必需:这应该包含实现MonitorFactory接口的类的完全限定名称。由工厂实施实例化的监视器将被安排定期执行。预期MonitorFactory接口的自定义实现将createMonitor方法中的Config和MetricsRegistry实例注入到Monitors中。

例如,两个名为 NMTaskMonitor 和 RMTaskMonitor 的监视器的配置应如下定义:

monitor.RMTaskMonitor.factory.class=org.apache.samza.monitor.RMTaskMonitor

  monitor.RMTaskMonitor.scheduling.interval.ms=1000

  monitor.RMTaskMonitor.custom.config.key1=configValue1

  monitor.NMTaskMonitor.factory.class=org.apache.samza.monitor.NMTaskMonitor

  monitor.NMTaskMonitor.scheduling.interval.ms=2000

  monitor.NMTaskMonitor.custom.config.key2=configValue2

实施新的监视器

使用应该定期执行的一些行为来实现 Monitor 界面。监视器是在 SAMZA Rest Service 中调用某些方法的 Java 代码,运行一个 bash 脚本来重新启动失败的 NodeManager,或者清除Host Affinity 剩下的旧的 RocksDB sst 文件。

实现 MonitorFactory 接口,用于实例化 Monitor。每个 Monitor 实现都应该有一个关联的 MonitorFactory 实现,它负责实例化监视器。

向 Samza REST服务添加新的监视器

将 MonitorFactory 实现的完全限定类名添加到 monitor.monitorName.factory.classservice config 中的属性中。将配置密钥 monitor.monitorName.scheduling.interval.ms 设置为调度间隔(以毫秒为单位)。

配置密钥 monitor.monitorName.scheduling.interval.ms 定义方法的周期调度间隔,单位为 monitor()毫秒。

从监视器报告指标

Samza REST服务允许用户从其显示器创建和报告指标。对度量系统的报告指标由度量报告器封装,该指标应在 samza-rest 配置文件中定义。Samza REST服务中度量报告员的配置与Samza Jobs的配置相同。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)