Twitter設(shè)計(jì)heron架構(gòu)的時(shí)候,就是完全以兼容storm而設(shè)計(jì)的。所以以前的storm工程就可以很容易平移到heron中,需要做的就是調(diào)整tolopogy的Maven配置文件pom.xml。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)鳳臺(tái)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
下面一步步來:
1. 下載Heron API的安裝腳本
若在上一步已經(jīng)把那些sh或者tar.gz都下載了,沒下載的可在此處下載(https://github.com/twitter/heron/releases),這個(gè)就忽略。
heron-api-install-0.14.2-PLATFORM.sh
注:Mac下有darwin字符的sh文件
下載成功之后就可以使用--user 和--maven進(jìn)行安裝工作
$ ./heron-api-install-0.14.3-ubuntu.sh --user --maven --warning=no-timestamp Heron API installer --------------------- Installing jars to local maven repo. tar xfz /tmp/heron.P7Ui/heron-api.tar.gz -C /tmp/heron.P7Ui --warning=no-timestamp Heron API is now installed! See http://heronstreaming.io/docs/getting-started for how to use Heron. heron.build.version : '0.14.3' heron.build.time : Sat Sep 10 01:04:00 PDT 2016 heron.build.timestamp : 1473494660000 heron.build.host : tw-mbp-kramasamy heron.build.user : kramasamy heron.build.git.revision : 71d5b256d779be73b37c50d2a58af8f00d618276 heron.build.git.status : Clean
注:若是提示沒有maven,那就使用apt-get命令安裝一個(gè)maven
sudo apt-get install maven
安裝完成后,就可以再本地的maven倉庫里面看到heron的api內(nèi)容
$ ls ~/.m2/repository/com/twitter/heron heron-api heron-spi heron-storm
2. 將heron依賴加入pom.xml
將下面的語句加入到原來的storm工程的pom.xml文件里面
com.twitter.heron heron-api SNAPSHOT compile com.twitter.heron heron-storm SNAPSHOT compile
3. 刪除以前的storm依賴
將原工程pom.xml的storm依賴刪除,例如:
org.apache.storm storm-core storm-VERSION provided
4. 刪除Clojure plugin(非必須)
如果原storm工程中有依賴clojure plugin,那就刪除。例如:
com.theoryinpractise clojure-maven-plugin 1.3.12 true src/clj
5. 運(yùn)行maven命令
$ mvn clean $ mvn compile $ mvn package
注:storm的distribute RPC特性在heron中已經(jīng)不用了
6. 部署更新后的tolopogy(可選)
可以使用heron submit命令將已經(jīng)編譯的maven工程部署到本地的heron環(huán)境中,參考heron的例子
$ heron submit local \ # local表示本地運(yùn)行 ~/.heron/examples/heron-examples.jar \ # topology的jar文件路徑 com.twitter.heron.examples.ExclamationTopology \ # topology的Java類 ExclamationTopology # topology的名字