×

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 打包


JobRunner 页谈到了 run-job.sh ,以及如何使用它来在本地(ProcessJobFactory / ThreadJobFactory)或 Yarn(YarnJobFactory)启动作业。在显示执行流程的图中,它还显示一个run-container.sh 的脚本。这个脚本以及一个 runamam.sh 脚本是 Samza 实际调用执行代码的。

bin/run-am.sh
bin/run-container.sh

run-container.sh 脚本负责启动 SamzaContainer。run -am.sh 脚本负责启动 Samza 的 YARN 应用程序主程序。

因此,runamam.sh 脚本仅由 YarnJob 使用,但 YarnJob 和 ProcessJob 都使用 run-container.sh。

通常,这两个脚本捆绑在一个具有如下结构的 tar.gz 文件中:

bin/run-am.sh
bin/run-class.sh
bin/run-job.sh
bin/run-container.sh
lib/*.jar

要运行 Samza 作业,请解压缩其 tar.gz 文件,然后执行 “JobRunner” 部分中定义的 run-job.sh 脚本。这种包装方案有很多有趣的含义。首先,您会注意到该包中没有配置。其次,您将注意到,lib 目录包含运行 Samza 作业所需的所有 JAR。

配置与 Samza 作业打包脱钩的原因是它允许更新配置,而无需重新构建整个 Samza 包。这样,当您只需要调整一个参数,并且不想担心您的包是从哪个分支构建的,或者是否处于稳定状态时,这样可以让每个人都容易生活。它还具有强制配置在运行时完全解决的附加好处。这意味着在调用 run-job.sh(使用 -config-path 和 -config-provider 参数)的时候解决了作业的配置,从那时起,配置是不可变的,并通过它需要由 Samza(和 YARN,如果你使用它)。

第二个声明,您的 Samza 包中包含所有需要运行的 JAR,这意味着 Samza 包完全是自包含的。这允许 Samza 作业在独立的 Samza 版本上运行,而不会相互冲突。这与 Hadoop 不同,Hadoop 从工作正在运行的本地机器(使用环境变量)中拉入 JAR。使用 Samza,您可能会在0.7.0版本上运行您的工作,而其他人可能会在0.8.0版本上运行其工作。这没有问题。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)