http://www.jstorm.io/
https://github.com/alibaba/
应用场景
==》日志分析,从日志中分析出特定的数据,并将分析的结果存入外部存储器如数据库。目前,主流日志分析技术就使用JStorm或Storm
管道系统, 将一个数据从一个系统传输到另外一个系统, 比如将数据库同步到Hadoop
==》消息转化器, 将接受到的消息按照某种格式进行转化,存储到另外一个系统如消息中间件
==》统计分析器, 从日志或消息中,提炼出某个字段,然后做count或sum计算,最后将统计值存入外部存储器。中间处理过程可能更复杂。
==》实时推荐系统, 将推荐算法运行在jstorm中,达到秒级的推荐效果
Jstorm 结构图
各种组件代表的含义
Nimbus: 资源调度角色
Supervisor: 接受nimubs 任务安排,启动任务
Worker: 进程
Executor: 执行线程
Task: 执行逻辑单元(Spout,Bolt)
安装Jstorm
还是官网全
http://120.25.204.125/QuickStart_cn/Deploy/Standalone.html
(1)解压安装包
(2)配置文件 storm.yaml
storm.zookeeper.servers:
- "master"
- "slave1"
- "slave2"
storm.zookeeper.root: "/jstorm"
cluster.name: "chh_test"
nimbus.host: "master"
storm.local.dir: "%JSTORM_HOME%/data"
supervisor.slots.ports:
- 6800
- 6801
- 6802
- 6803
在当前机器,一般是nimbus,也就是提交jar包的机器上执行如下命
令:
mkdir ~/.jstorm
cp storm.yaml ~/.jstorm/
(3)启动zookeeper ./bin/zkServer.sh start
(4)确保安装了python以上 和java7.0以上
(5)配置storm ui管理界面
拷贝war包到webapp目录
创建软链文件,作为默认项目
mv ROOT ROOT.old
ln -s jstorm-ui-2.1.1 ROOT
(5)启动Jstorm
#主节点
nohup bin/jstorm nimbus &
#从节点
nohup bin/jstorm supervisor &
查看是否启动
查看结果
http://192.168.0.200:8080/