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
$ 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的名字
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。