W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Samza 你好項(xiàng)目是一個(gè)示例項(xiàng)目,旨在幫助你運(yùn)行你的第一個(gè) Samza 工作。
查看 hello-samza 項(xiàng)目:
git clone https://git.apache.org/samza-hello-samza.git hello-samza
cd hello-samza
該項(xiàng)目包含運(yùn)行您的第一個(gè)Samza工作所需的一切。
Samza 網(wǎng)格通常包括三種不同的系統(tǒng):YARN,Kafka和ZooKeeper。hello-samza 項(xiàng)目附帶一個(gè)名為 “grid” 的腳本來幫助您設(shè)置這些系統(tǒng)。
開始運(yùn)行:
bin/grid bootstrap
該命令將下載,安裝和啟動(dòng) ZooKeeper,Kafka 和 YARN。它還將檢查最新版本的 Samza 并構(gòu)建它。所有包文件將被放在 hello-samza 的根文件夾內(nèi)的一個(gè)名為 “deploy” 的子目錄中。
如果您抱怨 JAVA_HOME 未設(shè)置,那么您需要將其設(shè)置為系統(tǒng)上安裝 Java 的路徑。
一旦 grid 命令完成,您可以通過轉(zhuǎn)到 http:// localhost:8088 來驗(yàn)證YARN是否已啟動(dòng)并運(yùn)行。這就是 YARN UI。
在您可以運(yùn)行 Samza 工作之前,您需要為其構(gòu)建一個(gè)包,這個(gè)包是 YARN 用來在網(wǎng)格上部署你的作業(yè)的。
注意:如果您正在從 hello-samza 項(xiàng)目的最新分支建立,請(qǐng)確保您從本地 Samza 項(xiàng)目中運(yùn)行以下步驟:
./gradlew publishToMavenLocal
然后,您可以在 hello-samza 項(xiàng)目中繼續(xù)執(zhí)行以下命令:
mvn clean package
mkdir -p deploy/samza
tar -xvf ./target/hello-samza-0.13.0-dist.tar.gz -C deploy/samza
構(gòu)建 Samza 軟件包后,可以使用 run-app.sh 腳本在網(wǎng)格上啟動(dòng)作業(yè)。
deploy/samza/bin/run-app.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file://$PWD/deploy/samza/config/wikipedia-feed.properties
這項(xiàng)工作將消耗維基百科的實(shí)時(shí)編輯資料,并將其制作成名為“維基百科”的 Kafka 話題。給工作一分鐘啟動(dòng),然后跟著 Kafka 話題:
主題:
deploy/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic wikipedia-raw
很整潔,對(duì)不對(duì)?現(xiàn)在,再次查看 YARN UI(http:// localhost:8088)。這一次,你會(huì)看到你的Samza工作正在運(yùn)行!
如果您看不到 Kafka 消費(fèi)者的任何輸出,您可能會(huì)遇到連接問題。
我們來計(jì)算基于維基百科原始主題的消息的一些統(tǒng)計(jì)數(shù)據(jù)。
開始兩個(gè)工作:
deploy/samza/bin/run-app.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file://$PWD/deploy/samza/config/wikipedia-parser.properties
deploy/samza/bin/run-app.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file://$PWD/deploy/samza/config/wikipedia-stats.properties
第一個(gè)工作(維基百科解析器)解析wikipedia-raw中的消息,并提取關(guān)于編輯大小,進(jìn)行更改的信息等信息。您可以通過以下方式查看其輸出:
deploy/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic wikipedia-edits
最后一個(gè)工作(維基百科統(tǒng)計(jì))從維基百科編輯主題中讀取消息,并計(jì)算在該窗口中進(jìn)行的所有編輯的每10秒計(jì)數(shù)。它將這些計(jì)數(shù)輸出到維基百科統(tǒng)計(jì)信息主題。
deploy/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic wikipedia-stats
stats 主題中的消息如下所示:
{"is-talk":2,"bytes-added":5276,"edits":13,"unique-titles":13}
{"is-bot-edit":1,"is-talk":3,"bytes-added":4211,"edits":30,"unique-titles":30,"is-unpatrolled":1,"is-new":2,"is-minor":7}
{"bytes-added":3180,"edits":19,"unique-titles":19,"is-unpatrolled":1,"is-new":1,"is-minor":3}
{"bytes-added":2218,"edits":18,"unique-titles":18,"is-unpatrolled":2,"is-new":2,"is-minor":3}
如果您再次查看 YARN UI,您將看到現(xiàn)在列出了所有三個(gè)作業(yè)。
要關(guān)閉其中一個(gè)作業(yè),請(qǐng)使用與額外的 '-operation = kill' 參數(shù)相同的腳本
deploy/samza/bin/run-app.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file://$PWD/deploy/samza/config/wikipedia-feed.properties --operation=kill
完成后,您可以使用相同的網(wǎng)格腳本清理所有內(nèi)容。
bin/grid stop all
恭喜!您現(xiàn)在已經(jīng)設(shè)置了一個(gè)包含 YARN,Kafka 和 ZooKeeper 的本地網(wǎng)格,并在其上運(yùn)行 Samza 作業(yè)。接下來,查看 后臺(tái) 和 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)系方式:
更多建議: