您的位置:首页 > 运维架构

Storm项目:流数据监控3《示例运行…

2014-11-25 10:52 155 查看
博客公告:(1)本博客所有博客文章搬迁至《博客虫》http://www.blogchong.com/

(2)文章对应的源码下载链接参考博客虫网站首页的“代码GIT”直通车;

(3)更多的相关文章更新,以及代码等,请关注博客虫网站,网站中有技术Q群,以及代码共享链接。

 

该文档为实实在在的原创文档,转载请注明:

http://blog.sina.com.cn/s/blog_8c243ea30101iwim.html

 

 

1 文档说明

该文档为storm模拟项目第三份文档,第一份文档简单的介绍了模拟项目的设计,第二份文档为关键代码详解,这份文档则是示例运行的文档,从源代码打包到配置文件配置,lib文件导入,及任务提交,最后到处理数据输出到mysql中,这一整个流程。

关于该部分代码可以到博客中留言获取,或者是加入191321336扣扣群获取。

 

2 示例说明

2.1 数据源

 



 
图2.1 源数据
数据源形如以上截图,共有五个字段,字段解释则不一一说明,详见文档一。以上形式数据作为数据源。

2.2 过滤规则




 
图2.2 monitorBolt.xml过滤配置

设置如上过滤规则,及过滤符合以下规则的数据流:第一个字段正则匹配.*google.*,第二字段在200至2001的范围内,第五个字段符合常规模糊匹配,即字段值中包含ina几个字符。且以上三个字段逻辑关系为“AND”,即同时满足以上三个条件,数据才会被过滤出来。

2.3 数据存储



 
图2.3 mysqlBolt.xml存储配置

以上为mysql存储配置,mysql地址为192.168.2.240(在nimbus节点上安装有mysql),提前创建好storm数据库,在该库中创建表monitor。

3 详细步骤

3.1 配置文件




 
图3.1-1 配置文件路径

配置文件路径我写的是/root/hcy/jar/,将这两个xml文件放在supervisor节点的该目录下,程序运行时会去该路径查找。并且将数据源domian.log也放到该目录下。

具体配置配置方式,参考第二章中的图2.2及2.3

3.2 代码打包




 
图3.2 代码打包
使用eclipse中的file选项下的export选项,导出类型为Jar
file。将生成的jar包放入nimbus节点下。

3.3 数据库准备

在mysql中创建出storm数据库,在该库中创建表monitor,如下:




图3.3-1 创建表monitor



 
图3.3-2 表描述
Ps:为省事我全部创建了char类型的哦。

注意:

必须将mysql配置成能够远程访问的。

如下:




图3.3-3 配置mysql
 

PS:我用如上方法(网上寻找到的)将mysql配置能够远程登录了,但是本地登录不了了,囧啊,有知道的朋友请不吝赐教。

3.4 环境准备

3.4.1 配置

关于storm.yaml配置如下:




 
图3.4.1 storm.yaml配置

3.4.2 启动集群

在三个节点上启动ZK,在nimbus上启动用命令storm nimbus&启动nimbus及用storm
ui&命令启动UI监控页面,在supervisor上启动storm supervisor&。

在nimbus所在机器上启动mysql。

3.5 提交任务




图3.5-1 提交任务命令
我把jar包放在nimbus下/root/hcy/jar目录下。执行以上命令,使用监控页面监控任务状态。




 
图3.5-2 UI监控页面

3.6 输出查询

远程登录myslq:




 
图3.6-1 进入storm数据库
进行过滤结果查询:




 
图3.6-2 10条过滤数据查询结果

4 项目扩展

下一步计划改善spout接口,计划源数据从metaq(消息队列中读取)获取,写一个metaq与storm的接口。

有兴趣的朋友请继续关注我的博客http://blog.sina.com.cn/huangchongyuan

我会将这个模拟项目一步一步的完善,初步计划如下:

1、布置metaq集群,写metaq与storm的接口;

2、实现线上更新(例如动态更改过滤规则);

3、部署hadoop集群,写hdfs与storm接口;

4、支持类Top N统计处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: