一、介绍
我们先看下官网上的介绍:storm官方已经给我们封装了以下外部系统的集成,我们直接引用相关jar包,即可使用
http://storm.apache.org/releases/1.1.2/index.html
Apache Kafka 集成, 新的 Kafka Consumer(消费者)集成Apache HBase 集成Apache HDFS 集成Apache Hive 集成Apache Solr 集成Apache Cassandra 集成JDBC 集成JMS 集成Redis 集成Event Hubs 集成Elasticsearch 集成MQTT 集成Mongodb 集成OpenTSDB 集成Kinesis 集成Druid 集成Kestrel 集成核心本质:上面虽然列了这么多的外部系统集成,但是内部原理其实是一样的,就是一些封装了特定功能的普通bolt,和我们自己写的bolt本质上其实是一样的,可能我们自己写的没有官方写的好,所以这里,我们仅讲一个集成案例就可以了,掌握了一个,就基本掌握了所有外部系统的集成,你自己再探索其他的系统集成,那也是信手沾来的事情。
二、Storm集成Redis实战案例演练
1、环境介绍
代码下载地址:
https://gitee.com/jikeh/JiKeHCN-RELEASE.git项目名:
spring-boot-storm-other-example参考实例:其实我们下载的storm安装文件里面,已经给我们了集成案例了,我这里只是做了些精简,只保留了常用的一些功能。
目录位置:\apache-storm-1.1.2\examples\storm-redis-examples
2、与redis相关的三类bolt
查询bolt:RedisLookupBolt存储bolt:RedisStoreBolt过滤bolt:RedisFilterBolt我们看其源码,这三个bolt都是继承了BaseRichBolt。
RedisLookupBolt/RedisStoreBolt/RedisFilterBolt >> BaseRichBolt
总结,storm-redis帮我们封装了一个bolt用于redis操作,我们不用自己写了,直接引入jar包,直接拿来使用就可以了
3、引入依赖
<dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-redis</artifactId> <version>${storm.version}</version> </dependency>4、启动redis
Windows下安装/启动redisLinux下安装/启动redisredis客户端的安装/使用5、Strom拓扑流程图
功能:从redis中查询单词的出现次数
topology主类:LookupWordCount
wordSpout -> lookupBolt -> printBolt
单词数据源 -> 从redis查询单词次数 -> 打印结果
6、在本地运行我们的storm作业
springboot项目,直接右键运行LookupWordCount主类就可以了
注释:我们这里仅讲了RedisLookupBolt的使用,其它就不介绍了,很简单!!!