×

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入门


本教程依赖于 hello-samza 来启动本地群集上的一些示例作业,然后您将通过 JobsResource 访问。完成本教程后,您将在本地构建并部署 Samza REST 资源,更改了 JobsResource 的配置,并执行了几个基本的卷曲请求,以验证该服务的工作原理。

让我们开始吧。

在本地运行 你好 Samza 的工作

按照 hello-samza 教程设置本地网格并运行维基百科工作。跳过 关机步骤,因为您需要运行网格才能查询作业的 REST 服务。kafka-console-consumer.sh 如果您不想验证作业的输出,则可以选择跳过所有命令。

注意你克隆 hello-samza 的路径。您将需要配置 JobsResource 的安装路径。

构建 Samza REST 服务包

Samza REST 的源代码位于 Samza 存储库的 samza-rest 模块中。要构建它,请从项目的根目录执行以下 gradle 任务。

./gradlew samza-rest:clean releaseRestServiceTar

在本地部署 Samza REST 服务

要部署服务,您只需将 tarball 解压缩到所需的位置即可。在这里,我们将在本地主机上部署 tarball

SAMZA_ROOT/samza-rest/build/distributions/deploy/samza-rest

这里 SAMZA_ROO T是通向你的Samza项目的根。

运行以下命令:

cd samza-rest/build/distributions/
mkdir -p deploy/samza-rest
tar -xvf ./samza-rest-0.13.0.tgz -C deploy/samza-rest

配置安装路径

JobsResource 有一个必需的配置job.installations.path,它指定作业的安装路径。编辑配置文件:

deploy/samza-rest/config/samza-rest.properties

将job.installations.path设置为:

job.installations.path=/hello-samza-ROOT/deploy

hello-samza-ROOT 上面提到你的 hello-samza 克隆的路径在哪里。这告诉 JobsResource 抓取此位置以查找所有已安装的作业。

启动Samza REST服务

要部署服务,请从提取的目录中运行 run-samza-rest-service.sh 脚本。

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

您可以向 run-samza-rest-service.sh 脚本提供两个参数。一个是配置位置,另一个可选参数是用于读取配置文件的工厂类。SamzaRestService 使用您的 ConfigFactory 从配置路径获取一个 Config 对象。在“ 作业运行器”页面中更详细地介绍了 ConfigFactory 。run -samza-rest-service.sh 脚本将阻塞,直到 SamzaRestService 终止。

注意:使用默认设置,JobsResource 将期望可以通过 ApplicationCLI 访问具有本地资源管理器的 YARN 群集。没有 YARN,JobsResource 将不会响应任何请求。所以重要的是在下一步之前穿过 hello-samza 演示。

卷曲默认 REST 服务

卷曲 JobsResource 以获取所有安装的作业

curl localhost:9139/v1/jobs
[{"jobName":"wikipedia-stats","jobId":"1","status":"STARTED","statusDetail":RUNNING},{"jobName":"wikipedia-parser","jobId":"1","status":"STARTED","statusDetail":RUNNING},{"jobName":"wikipedia-feed","jobId":"1","status":"STARTED","statusDetail":RUNNING}

现在卷曲 JobsResource 以停止其中一个作业

curl -X PUT localhost:9139/v1/jobs/wikipedia-feed/1?status=stopped
{"jobId":"1","jobName":"wikipedia-feed","status":"STOPPED","statusDetail":"FINISHED"}

恭喜,您已成功部署Samza REST服务,并使用JobsResource列出作业并停止工作!

请参阅 JobsResource文档 了解其余的API。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)