W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Samza 提供了可在群集中的任何節(jié)點(diǎn)上部署的 REST服務(wù),并具有可插入接口以添加自定義資源和監(jiān)視器。它旨在成為一個(gè)常見的動(dòng)作的節(jié)點(diǎn)本地委托,例如啟動(dòng)作業(yè),取樣本地狀態(tài),測(cè)量磁盤使用情況,采取堆轉(zhuǎn)儲(chǔ),驗(yàn)證活動(dòng)等等。
Samza REST服務(wù)尚未啟用 SSL 或身份驗(yàn)證,因此最初適用于更多后端和操作用例。例如,在不允許用戶停止對(duì)方的工作的環(huán)境中將其暴露為面向用戶的 API 是不明智的。
Samza REST的打包和配置與 Samza 的工作非常相似。一個(gè)明顯的區(qū)別是 Samza REST 必須在要運(yùn)行的每個(gè)主機(jī)上部署和執(zhí)行,而 Samza 作業(yè)通常在集群管理器的主節(jié)點(diǎn)上啟動(dòng),并且主人將作業(yè)部署到其他節(jié)點(diǎn)。
Samza REST旨在成為需要從 Samza 群集節(jié)點(diǎn)執(zhí)行的所有操作的代理。它可以部署到集群中的所有主機(jī),并可能在不同主機(jī)上提供不同的用途。在這種情況下,使用不同的配置部署相同的版本的壓縮來自定義主機(jī)角色的功能可能會(huì)有用。例如,Samza REST可以部署在具有 ResourceManager(RM)主機(jī)的一個(gè)配置和 NodeManager(NM))主機(jī)的另一個(gè)配置的 YARN 集群上。
部署服務(wù)與運(yùn)行 Samza 工作非常相似。首先使用以下命令構(gòu)建壓縮:
./gradlew samza-rest:clean releaseRestServiceTar
然后從提取的位置運(yùn)行服務(wù):
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
兩個(gè)配置參數(shù)與 run-job.sh 的用途相同。
按照 入門教程 第一次快速部署和測(cè)試 Samza REST服務(wù)。
Samza REST服務(wù)依賴于與 Samza Jobs 相同的配置系統(tǒng)。但是,Samza REST服務(wù)配置文件本身與 Samza 作業(yè)的配置文件完全不同。
配置可能提供核心配置的值,以及您可能添加到服務(wù)中的資源或監(jiān)視器所需的任何其他配置。包含核心服務(wù)配置和 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
名稱 | 默認(rèn) | 描述 |
---|---|---|
services.rest.port | 必需: Samza REST服務(wù)在本地主機(jī)上使用的端口。如果為0,則動(dòng)態(tài)選擇可用端口。 | |
rest.resource.factory.classes | 以逗號(hào)分隔的實(shí)現(xiàn)ResourceFactory的類名列表。這些工廠將用于創(chuàng)建特定的資源實(shí)例,并可以從提供的服務(wù)器配置中拉取所需的任何屬性。返回的實(shí)例將用于服務(wù)器的生命周期。如果沒有為此屬性提供任何值 rest.resource.classes 然后 org.apache.samza.rest.resources.DefaultResourceFactory 將被用作默認(rèn)值。 | |
rest.resource.classes | 以服務(wù)器注冊(cè)的資源類名稱的逗號(hào)分隔列表。這些類可以像每個(gè)請(qǐng)求一樣經(jīng)常實(shí)例化,生命周期不能保證與服務(wù)器匹配。此外,實(shí)例不接收任何配置。請(qǐng)注意,生命周期和接收配置的能力是通過此屬性添加的資源與rest.resource.factory.classes之間的主要區(qū)別 |
Samza REST使用 SLF4J 進(jìn)行日志記錄。在 run-samza-rest-service.sh 默認(rèn)情況下,上述腳本需要在包的 bin 目錄中的 log4j.xml 和日志寫入到包根 logs 目錄。但是,由于腳本調(diào)用run-class.sh 用于運(yùn)行 Samza 作業(yè)的相同腳本,因此可以重新配置與Samza作業(yè)的日志記錄非常相似。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: