W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
本教程依賴于 hello-samza 來啟動(dòng)本地群集上的一些示例作業(yè),然后您將通過 JobsResource 訪問。完成本教程后,您將在本地構(gòu)建并部署 Samza REST 資源,更改了 JobsResource 的配置,并執(zhí)行了幾個(gè)基本的卷曲請(qǐng)求,以驗(yàn)證該服務(wù)的工作原理。
讓我們開始吧。
按照 hello-samza 教程設(shè)置本地網(wǎng)格并運(yùn)行維基百科工作。跳過 關(guān)機(jī)步驟,因?yàn)槟枰\(yùn)行網(wǎng)格才能查詢作業(yè)的 REST 服務(wù)。kafka-console-consumer.sh 如果您不想驗(yàn)證作業(yè)的輸出,則可以選擇跳過所有命令。
注意你克隆 hello-samza 的路徑。您將需要配置 JobsResource 的安裝路徑。
Samza REST 的源代碼位于 Samza 存儲(chǔ)庫的 samza-rest 模塊中。要構(gòu)建它,請(qǐng)從項(xiàng)目的根目錄執(zhí)行以下 gradle 任務(wù)。
./gradlew samza-rest:clean releaseRestServiceTar
要部署服務(wù),您只需將 tarball 解壓縮到所需的位置即可。在這里,我們將在本地主機(jī)上部署 tarball
SAMZA_ROOT/samza-rest/build/distributions/deploy/samza-rest
這里 SAMZA_ROO T是通向你的Samza項(xiàng)目的根。
運(yùn)行以下命令:
cd samza-rest/build/distributions/
mkdir -p deploy/samza-rest
tar -xvf ./samza-rest-0.13.0.tgz -C deploy/samza-rest
JobsResource 有一個(gè)必需的配置job.installations.path,它指定作業(yè)的安裝路徑。編輯配置文件:
deploy/samza-rest/config/samza-rest.properties
將job.installations.path設(shè)置為:
job.installations.path=/hello-samza-ROOT/deploy
hello-samza-ROOT 上面提到你的 hello-samza 克隆的路徑在哪里。這告訴 JobsResource 抓取此位置以查找所有已安裝的作業(yè)。
要部署服務(wù),請(qǐng)從提取的目錄中運(yùn)行 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 腳本提供兩個(gè)參數(shù)。一個(gè)是配置位置,另一個(gè)可選參數(shù)是用于讀取配置文件的工廠類。SamzaRestService 使用您的 ConfigFactory 從配置路徑獲取一個(gè) Config 對(duì)象。在“ 作業(yè)運(yùn)行器”頁面中更詳細(xì)地介紹了 ConfigFactory 。run -samza-rest-service.sh 腳本將阻塞,直到 SamzaRestService 終止。
注意:使用默認(rèn)設(shè)置,JobsResource 將期望可以通過 ApplicationCLI 訪問具有本地資源管理器的 YARN 群集。沒有 YARN,JobsResource 將不會(huì)響應(yīng)任何請(qǐng)求。所以重要的是在下一步之前穿過 hello-samza 演示。
卷曲 JobsResource 以獲取所有安裝的作業(yè)
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}
現(xiàn)在卷曲 JobsResource 以停止其中一個(gè)作業(yè)
curl -X PUT localhost:9139/v1/jobs/wikipedia-feed/1?status=stopped
{"jobId":"1","jobName":"wikipedia-feed","status":"STOPPED","statusDetail":"FINISHED"}
恭喜,您已成功部署Samza REST服務(wù),并使用JobsResource列出作業(yè)并停止工作!
請(qǐng)參閱 JobsResource文檔 了解其余的API。
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)系方式:
更多建議: