搜索
搜 索
本版
文章
帖子
用户
图文精华
hadoop-2.6.0+zookeeper-3.4.6+hbase-1.0.0+hive-1.1.0完全分布 ...
首页
Portal
专题
BBS
面试
更多
登录
注册
用户组:游客
主题
帖子
云币
我的帖子
我的收藏
我的好友
我的勋章
设置
退出
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
About云-梭伦科技
»
专题
›
技术学习(版主发帖区)
›
大数据学习
›
Storm
›
Storm项目:流数据监控一流数据监控设计文档
1
2
2
分享
Storm项目:流数据监控一流数据监控设计文档
tntzbzc
发表于 2014-11-16 13:54:19
[显示全部楼层]
阅读模式
关闭右栏
2
24419
问题导读
1.对于storm,本文采用什么工具持久化数据的?
2.
storm的数据源是什么?
3.
设计文档的思路是什么?
1 流数据监控设计概述
1.1 设计大体概述
1.1.1 数据流产生:Spout
数据流的产生目前使用的比较多的是:log文件读取、从mysql(或者是相关db)中获取、从消息中间件(如metaq)中获取及使用socket从网络中获取。
补充:
在该项目中,由于我的metaq还没搭好,所以就直接采用读取log的方式作为源数据,往后会给出metaq作为数据源的接口及mysql作为数据源的接口等。
1.1.2 处理数据:
HandleBolt这里的HandleBolt是宽泛的概念,指对数据进行处理的相关Bolt,目前比较常见的处理方式是数据过滤、数据添加、部分数据统计、数据监控等等。这些都是比较常见的数据实时处理方式。
补充:
该项目中数据处理部分使用数据监控处理,及对数据流进行条件过滤,将部分符合条件的数据筛选出来做进一步处理,达到条件数据监控的目的。目前该部分支持多种条件判断方式组合,多个字段组合判断及多种逻辑判断方式。往后会进一步晚上。
1.2.3 数据持久化
:
LastingBoltLastingBolt泛指数据在处理之后进行持久化操作的接口,常见的持久化操作接口是:直接打印(这个貌似不算)、写入file中、写入mysql(及其他db)中、写入消息中间件(metaq)供其他业务调用、使用Socket写入网络端口中等等。
补充:
该项目中暂时设计两个数据持久化Bolt,一个是直接打印出来(比较直观),二是存入mysql中。其他方式接口会慢慢的给出。
2 数据监控设计框架
2.1 数据监控设计拓扑
图2.1 数据监控设计拓扑
数据监控设计拓扑说明:
ReadLogSpout:
该部分spout从domain.log(稍后给出log说明)读取数据,每次读取一行记录,该数据为域名出售log,读取数据后交给MonitorBolt进行处理。
MonitorBolt
:
该部分Bolt对数据进行解析,读取配置文件MonitorBolt.xml中的逻辑判断及相关过滤规则等,进行数据过滤,将符合条件的数据发射到下一级(稍后有Bolt分析)。
MysqlBolt
:
在MonitorBolt处理完数据之后将数据存入mysql的库表中,数据库相关配置从配置文件MysqlBolt.xml中读取。
PrintBolt
:
将结果直接打印出来。
2.2 数据流监控环境拓扑
图2.2 网络环境拓扑
拓扑说明:
该项目只搭建三个storm节点一个为Nimbus节点,两个supervisor节点,其中在Nimbus节点中又安装有mysql。
3 数据监控详细设计
3.1 源数据说明
目前源数据从domain.log中读取,该log为人工构造,模拟域名拍卖的log,其中有五个字段,分别为domain(域名)、value(售价)、time(申请年份)、validity(有效期)、seller(卖家)。详细如下:
图3.1 源数据说明
一行数据为一条记录,每条记录有5个属性。
3.2 数据监控设计
从Monitor的配置文件中说明数据监控的设计:
图3.2 MonitorBolt.xml截图
参数说明:
MatchLogic:条件间的逻辑关系,用于如下几个条件间的逻辑关系指明,其有“AND”及“OR”两种逻辑关系设置。
MatchType:判断类型列表,该列表指明了某个字段用何种匹配算法进行判断,regular为正则匹配、range为范围匹配、routine0为常规模糊匹配、routine1为常规完全匹配。
MatchField:匹配字段列表,指明对哪几个字段进行判断。
FieldValue:对应的字段值。
如上配置说明:对字段1/2/5
分别进行正则、范围及常规模糊匹配,字段1
满足正则匹配.*google.*
,字段2
满足从200
到2001
,字段5
满足模糊匹配ina
,只有三个条件同时满足“AND
”,该数据才会发射到下一级。
3.3 数据Mysql处理
从MysqlBolt.xml中进行说明:
图3.3 MyslqBolt.xml截图
Myslq数据存储处理指明myslq的host,指明database及from,使用username及password将数据存储已经创建好的mysql表中。
3.4 源码简介
图3.4 源码树
源码简单说明:
Storm包中为总体运行的Topology,Storm.base目前只有myslq预处理的一个类,storm.bolt为bolt处理类,包括monitorbolt及printbolt,storm.spout包中为spout源数据接口,storm.source为构造源数据的一个类(这个可以忽略),storm.xml为配置文件读取类,domain.log为源数据,MonitorBolt.xml及MyslqBolt.xml分别为配置文件。
//重新整理过后的代码树差距较大,
戳此
相关文档
Storm项目:流数据监控二:流数据监控代码详解
http://www.aboutyun.com/thread-10047-1-1.html
Storm项目:流数据监控三:流数据监控示例运行
http://www.aboutyun.com/thread-10046-1-1.html
Storm项目:流数据监控四---流数据监控MetaQ接口
http://www.aboutyun.com/thread-10045-1-1.html
Storm项目:流数据监控五Zookeeper统一配置
http://www.aboutyun.com/thread-10044-1-1.html
实时处理方案架构 - Storm实时处理
http://www.aboutyun.com/thread-10043-1-1.html
本文地址:
http://www.blogchong.com/post/storm_monitor_des.html
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
已有(2)人评论
电梯直达
正序浏览
韩克拉玛寒
发表于 2014-11-17 09:22:00
回复
使用道具
举报
显身卡
About380713049
发表于 2018-10-8 14:00:31
感谢分享,源代码可以下载吗
回复
使用道具
举报
显身卡
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
最佳新人
积极上进,爱好学习
活跃会员
经常参与各类话题的讨论,发帖内容较有主见
发表新帖
tntzbzc
高级会员
关注
90
主题
666
帖子
19
粉丝
TA的主题
kafka小知识总结
2017-2-27
BDTC2015-京东-刘海锋-大规模内存数据库JIMDB:从2014到2016
2015-12-20
2015-中国大数据技术与产业发展报告及2016 年大数据发展趋势单项调研
2015-12-20
Redis中的持久化操作【分享】
2015-12-20
Redis中的主从复制
2015-12-20
24小时热文
矩阵分析引论罗家洪(第四版)
互联网大厂年终福利曝光:看看别人家老板怎
像高手一样发言:七种常见工作场景的说话之
携程允许员工春节回乡办公2个月
数据治理实施方案
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈