您好,登錄后才能下訂單哦!
Twitter設計heron架構的時候,就是完全以兼容storm而設計的。所以以前的storm工程就可以很容易平移到heron中,需要做的就是調整tolopogy的Maven配置文件pom.xml。
下面一步步來:
1. 下載Heron API的安裝腳本
若在上一步已經把那些sh或者tar.gz都下載了,沒下載的可在此處下載(https://github.com/twitter/heron/releases),這個就忽略。
heron-api-install-0.14.2-PLATFORM.sh
注:Mac下有darwin字符的sh文件
下載成功之后就可以使用--user 和--maven進行安裝工作
$ ./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命令安裝一個maven
sudo apt-get install maven
安裝完成后,就可以再本地的maven倉庫里面看到heron的api內容
$ ls ~/.m2/repository/com/twitter/heron heron-api heron-spi heron-storm
2. 將heron依賴加入pom.xml
將下面的語句加入到原來的storm工程的pom.xml文件里面
<dependency> <groupId>com.twitter.heron</groupId> <artifactId>heron-api</artifactId> <version>SNAPSHOT</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.twitter.heron</groupId> <artifactId>heron-storm</artifactId> <version>SNAPSHOT</version> <scope>compile</scope> </dependency>
3. 刪除以前的storm依賴
將原工程pom.xml的storm依賴刪除,例如:
<dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core</artifactId> <version>storm-VERSION</version> <scope>provided</scope> </dependency>
4. 刪除Clojure plugin(非必須)
如果原storm工程中有依賴clojure plugin,那就刪除。例如:
<plugin> <groupId>com.theoryinpractise</groupId> <artifactId>clojure-maven-plugin</artifactId> <version>1.3.12</version> <extensions>true</extensions> <configuration> <sourceDirectories> <sourceDirectory>src/clj</sourceDirectory> </sourceDirectories> </configuration> </plugin>
5. 運行maven命令
$ mvn clean $ mvn compile $ mvn package
注:storm的distribute RPC特性在heron中已經不用了
6. 部署更新后的tolopogy(可選)
可以使用heron submit命令將已經編譯的maven工程部署到本地的heron環境中,參考heron的例子
$ heron submit local \ # local表示本地運行 ~/.heron/examples/heron-examples.jar \ # topology的jar文件路徑 com.twitter.heron.examples.ExclamationTopology \ # topology的Java類 ExclamationTopology # topology的名字
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。