Storm(三) storm-starter

原文鏈接storm-starter

storm-starter就是Storm工程里邊一個(gè)專門用來學(xué)習(xí)使用Storm的模塊捎迫。

Getting started

Prerequisites

首先臭杰,在你的用戶PATH下,你要安裝有java和git,并且storm-starter中有兩個(gè)例子使用了Python and Ruby并淋。
其次醋安,確保你已經(jīng)下載了storm-starter的源碼。Git/GitHub的初學(xué)者可以參考:
$ git clone git://github.com/apache/storm.git && cd storm/examples/storm-starter

storm-starter overview

storm-starter包含了一系列例子滥嘴。如果這是你首次使用Storm木蹬,請(qǐng)先查看以下topologies:
ExclamationTopology: 最基本的topology
WordCountTopology: 多語(yǔ)言版本的最基本的topology,其中一個(gè)bolt使用Python實(shí)現(xiàn)氏涩。
ReachTopology: 基于Storm的一個(gè)復(fù)雜DRPC的例子

在你熟悉這些topologies之后届囚,可以看一看src/jvm/org/apache/storm/starter/目錄下的其他topopologies,例如RollingTopWords是尖,可以學(xué)一些高級(jí)的實(shí)現(xiàn)意系。如果你想更多的了解Storm是如何工作的,請(qǐng)前去Storm project page饺汹。

Using storm-starter with Maven

Build and install Storm jars locally

如果你使用的是Storm的最新開發(fā)板蛔添,例如從git上clone了Storm,那么你必須先執(zhí)行一次build兜辞。否則你將會(huì)遇到錯(cuò)誤提示: "Could not resolve dependencies for project org.apache.storm:storm-starter:<storm-version>-SNAPSHOT".

# Must be run from the top-level directory of the Storm code repository
$ mvn clean install -DskipTests=true

這個(gè)命令會(huì)在本地生成Storm并把jar文件安裝到你的 $HOME/.m2/repository/迎瞧。當(dāng)你運(yùn)行Maven的命令生成和運(yùn)行storm-starter(后邊會(huì)介紹),Maven將能夠在本地Maven repository($HOME/.m2/repository)中找到相應(yīng)的Storm版本逸吵。

Packaging storm-starter for use on a Storm cluster

使用如下命令打包一個(gè)jar套件:
$ mvn package
這將打包你的代碼和依賴到一個(gè)"uberjar" (or "fat jar")凶硅,文件路徑在target/storm-starter-{version}.jar。
uberjar的文件名例子:target/storm-starter-0.9.3-incubating-SNAPSHOT.jar

你可以通過storm CLI工具提交(運(yùn)行)uberjar中的topology:

  • 例子1:
    本地模式下運(yùn)行ExclamationTopology
    storm jar target/storm-starter-*.jar org.apache.storm.starter.ExclamationTopology
  • 例子2:
    遠(yuǎn)程/集群模式下運(yùn)行RollingTopWords扫皱,使用名稱"production-topology"
    storm jar storm-starter-*.jar org.apache.storm.starter.RollingTopWords production-topology remote

多語(yǔ)言編寫的topologies也可以提交并運(yùn)行足绅,比如WordCountTopology捷绑。

以本地或遠(yuǎn)程模式提交拓?fù)涞膶?duì)比:取決于拓?fù)渲械膶?shí)際代碼,對(duì)RollingTopWords來說氢妈,可以通過命令行參數(shù)來設(shè)置粹污。不同于RollingTopWords,ExclamationTopology總是提交到遠(yuǎn)程集群(硬編碼在程序中)或者通過自定義配置文件來設(shè)置首量。 類似的壮吩,諸如拓?fù)涿Q等選項(xiàng) 也可能是用戶可配置或硬編碼的,所以請(qǐng)確認(rèn)你選擇的拓?fù)涫侨绾卧O(shè)置和配置的加缘。

Running unit tests

mvn test

Using storm-starter with IntelliJ IDEA

Importing storm-starter as a project in IDEA

在IntelliJ IDEA中執(zhí)行如下步驟可以把storm-starter導(dǎo)入為一個(gè)新的工程鸭叙。

  • Open File > Import Project... 導(dǎo)航到storm-starter目錄或者你的storm克隆的目錄(比如~/git/storm/examples/storm-starter)。
  • 選擇Import project from external model生百,選擇"Maven"并點(diǎn)擊Next递雀。
  • 接下來,選中Import Maven projects automatically蚀浆,其他選項(xiàng)默認(rèn)缀程,點(diǎn)擊Next。
  • 確保在profiles配置中選中intellij profile市俊,這對(duì)于確保依賴正確設(shè)置很重要杨凑。
  • 在下一個(gè)屏幕中點(diǎn)擊Next。
  • 選擇JDK摆昧,下一步撩满。
    建議使用JDK 7及以上版本。
    最好使用Oracle JDK而不是OpenJDK绅你。
  • 現(xiàn)在可以設(shè)置工程的名字伺帘,默認(rèn)名字是"storm-starter"。點(diǎn)擊“Finish”
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末忌锯,一起剝皮案震驚了整個(gè)濱河市伪嫁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌偶垮,老刑警劉巖张咳,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異似舵,居然都是意外死亡脚猾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門砚哗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來龙助,“玉大人,你說我怎么就攤上這事蛛芥∶诓危” “怎么了脆淹?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)沽一。 經(jīng)常有香客問我,道長(zhǎng)漓糙,這世上最難降的妖魔是什么铣缠? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮昆禽,結(jié)果婚禮上蝗蛙,老公的妹妹穿的比我還像新娘。我一直安慰自己醉鳖,他們只是感情好捡硅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盗棵,像睡著了一般壮韭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纹因,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天喷屋,我揣著相機(jī)與錄音,去河邊找鬼瞭恰。 笑死屯曹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的惊畏。 我是一名探鬼主播恶耽,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼颜启!你這毒婦竟也來了偷俭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤农曲,失蹤者是張志新(化名)和其女友劉穎社搅,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乳规,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡形葬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了暮的。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笙以。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖冻辩,靈堂內(nèi)的尸體忽然破棺而出猖腕,到底是詐尸還是另有隱情拆祈,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布倘感,位于F島的核電站放坏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏老玛。R本人自食惡果不足惜淤年,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蜡豹。 院中可真熱鬧麸粮,春花似錦、人聲如沸镜廉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)娇唯。三九已至齐遵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間视乐,已是汗流浹背洛搀。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留佑淀,地道東北人留美。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像伸刃,于是被迫代替她去往敵國(guó)和親谎砾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理捧颅,服務(wù)發(fā)現(xiàn)景图,斷路器,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,815評(píng)論 6 342
  • 原文鏈接Storm Tutorial 本人原創(chuàng)翻譯碉哑,轉(zhuǎn)載請(qǐng)注明出處 這個(gè)教程內(nèi)容包含如何創(chuàng)建topologies及...
    quiterr閱讀 1,624評(píng)論 0 6
  • 背景 OpenShift是目前比較主流的基于Kubernetes的容器云解決方案挚币,OpenShift在kubern...
    小白_18M閱讀 1,179評(píng)論 0 5
  • 大家是不是感覺到贮尖,現(xiàn)在的生活條件越來越好了笛粘,可是身體卻越來越差了?很多年輕人走上6樓都會(huì)累的上氣不接下氣,據(jù)我10...
    唯佰康劉巖閱讀 270評(píng)論 0 0