storm 称是实时领域的hadoop,作为一个平台型系统,他提供了实时计算,线性扩展,ack机制,事务型Tom,DRPC,Trident等等强大的服务,应用场景也非常广泛,作为一个storm的爱好者,第一步肯定是迫不及待的想编译一下源代码,下面简单的介绍一下storm的在线编译过程,离线编译过程稍微有点复杂(有需求的可以单独联系)。
1.编译storm源代码之前需要先安装好以下软件:
jdk1.6.0_37.tgz(clojure就是运行在jvm之上,这个不用多说)
Python-2.6.tgz(可以使用python编写Topology)
e2fsprogs-1.42.3_tlinux.tar.gz(zmq依赖的uuid就在里面了)
zeromq-2.1.7.tar.gz(storm的源代码用到了zmq做数据传输,c++编写)
nathanmarz-jzmq-dd3327d.zip(storm通过jzmq对zmq的接口进行调用jni实现)
clojure-1.4.0.zip(storm使用clojure编写)
apache-maven-3.0.4-bin.tar.gz(lein构建于maven之上)
lein1.7.1(storm工程使用lein来构建)
ps:以上软件一定要最好按照顺序安装,以上版本是经过测试的,其他版本不保证正确,以上这些全是开源软件,可想而知开源现在的力量有多大,都是免费获取的。lein的安装有些特殊,这一块需要特别注意
2.准备Strom源代码
storm源代码可以从github上下载,github被GFW墙了的同学google一下怎么弄吧。Storm源代码下载地址:https://github.com/nathanmarz/storm,最新的可以选master分支。
3. 编译源代码
3.1下载依赖库
lein deps
看到下面这个说明依赖库下载成功
图1
3.2 编译源代码
lein compile
看到下面这个就说明编译成功了:
图2
3.3 部署源代码(主要就是打包的过程)
lein Install
会将storm的源代码打包为一个jar文件并安装到本地的maven库中去。
图3
当然了,你还可以跑一些lein test测试啥的,你可以通过lein help在查看可选项。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!