×

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服务,并具有可插入接口以添加自定义资源监视器。它旨在成为一个常见的动作的节点本地委托,例如启动作业,取样本地状态,测量磁盘使用情况,采取堆转储,验证活动等等。

Samza REST服务尚未启用 SSL 或身份验证,因此最初适用于更多后端和操作用例。例如,在不允许用户停止对方的工作的环境中将其暴露为面向用户的 API 是不明智的。

Samza REST的打包和配置与 Samza 的工作非常相似。一个明显的区别是 Samza REST 必须在要运行的每个主机上部署和执行,而 Samza 作业通常在集群管理器的主节点上启动,并且主人将作业部署到其他节点。

部署

Samza REST旨在成为需要从 Samza 群集节点执行的所有操作的代理。它可以部署到集群中的所有主机,并可能在不同主机上提供不同的用途。在这种情况下,使用不同的配置部署相同的版本的压缩来自定义主机角色的功能可能会有用。例如,Samza REST可以部署在具有 ResourceManager(RM)主机的一个配置和 NodeManager(NM))主机的另一个配置的 YARN 集群上。

部署服务与运行 Samza 工作非常相似。首先使用以下命令构建压缩:

./gradlew samza-rest:clean releaseRestServiceTar

然后从提取的位置运行服务:

samza-example/target/bin/run-samza-rest-service.sh  
  --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory 
  --config-path=file://$PWD/config/samza-rest.properties

两个配置参数与 run-job.sh 的用途相同。

按照 入门教程 第一次快速部署和测试 Samza REST服务。

组态

Samza REST服务依赖于与 Samza Jobs 相同的配置系统。但是,Samza REST服务配置文件本身与 Samza 作业的配置文件完全不同。

配置可能提供核心配置的值,以及您可能添加到服务中的资源或监视器所需的任何其他配置。包含核心服务配置和 JobsResource 的基本配置文件如下所示:

# Service port. Set to 0 for a dynamic port.
services.rest.port=9139

# JobProxy
job.proxy.factory.class=org.apache.samza.rest.proxy.job.SimpleYarnJobProxyFactory
# Installation path for hello-samza project. Your root may vary.
job.installations.path=/hello-samza-ROOT/deploy/samza

核心配置

名称 默认 描述
services.rest.port 必需: Samza REST服务在本地主机上使用的端口。如果为0,则动态选择可用端口。
rest.resource.factory.classes
以逗号分隔的实现ResourceFactory的类名列表。这些工厂将用于创建特定的资源实例,并可以从提供的服务器配置中拉取所需的任何属性。返回的实例将用于服务器的生命周期。如果没有为此属性提供任何值
rest.resource.classes
然后
org.apache.samza.rest.resources.DefaultResourceFactory
将被用作默认值。
rest.resource.classes 以服务器注册的资源类名称的逗号分隔列表。这些类可以像每个请求一样经常实例化,生命周期不能保证与服务器匹配。此外,实例不接收任何配置。请注意,生命周期和接收配置的能力是通过此属性添加的资源与rest.resource.factory.classes之间的主要区别

记录

Samza REST使用 SLF4J 进行日志记录。在 run-samza-rest-service.sh 默认情况下,上述脚本需要在包的 bin 目录中的 log4j.xml 和日志写入到包根 logs 目录。但是,由于脚本调用run-class.sh 用于运行 Samza 作业的相同脚本,因此可以重新配置与Samza作业的日志记录非常相似。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)