【一个批量计算的调度系统的设计与实现】如果需要对成千上万的网络抓包数据文件在规定的时间内进行解析,应该怎么做?
2017-01-16 14:21
801 查看
原文链接:http://click.aliyun.com/m/9390/
上传图片
文章标签(添加Tag,你的内容能被更多人看到)我们为什么要打Tag?
(最多添加5个标签,多个标签之间用“,”分隔)
个人分类 [编辑分类]
(多个分类之间用“,”分隔)
文章分类(到分类首页)
移动开发Web前端架构设计编程语言互联网数据库系统运维云计算研发管理综合
更多文章(添加关联的文章url)
摘要:(默认自动提取您文章的前200字显示在博客首页作为文章摘要,您也可以在这里自行编辑 )
提示:请不要发布任何推广、广告(包括招聘)、政治、低俗等方面的内容,不要把博客当作SEO工具,否则可能会影响到您的使用。
公司简介|招贤纳士|广告服务|联系方式|版权声明|法律顾问|问题报告|合作伙伴|论坛反馈
网站客服杂志客服微博客服webmaster@csdn.net400-600-2320|北京创新乐知信息技术有限公司
版权所有|江苏知之为计算机有限公司|江苏乐知网络技术有限公司
京 ICP 证 09002463 号|Copyright
© 1999-2016, CSDN.NET, All Rights Reserved
链接地址:
打开方式:
默认
新窗口
当前窗口
父窗口
摘要: 如果需要对成千上万的网络抓包数据文件,在规定的时间内进行解析,应该怎么做?
如果需要对成千上万的网络抓包数据文件,在规定的时间内进行解析,应该怎么做?
有大量的文件
每个文件的处理需要花**大量的CPU时间**,对IO的负载不大。
要在规定的时间内完成处理
单机无法达成目标,需要使用集群
设计一个批量计算的调度系统
因为该场景是重计算轻IO的,所以可以将所有的文件集中到某一个文件系统中,比如HDFS或者FTP。
元数据的管理,放在关系型数据库上,具体的来讲,就是放在MySQL中。因为MySQL技术相对成熟,使用的人多,能够支撑。
在每个计算节点,部署守护程序。每个守护程序都是独立的。守护程序通过抢占式的调度方式,来启动任务。 架构如下图所示:
主要分3部分:
文件相关的表
任务相关的表
计算节点相关的表
主要分为3个独立的程序
launcher:负责与数据库交互 ,获取需要处理的文件信息(注意并发),监控节点健康状态
executor:负责与文件系统交互,启动具体的任务,监控任务执行状态
task: 具体的任务程序,比如一个网络数据的解析程序
分为3个独立程序的原因:
保证launcher的精简和健壮,不会任务任务的失败导致整个节点的调度挂掉
保证对task的监控,如果某一task失败,也需要报告其状态,达到对任务的完整跟踪。
1 台MySQL服务器
1 个文件系统
12 个计算节点
45350 个文件
文件系统的网络带宽
MySQL的负载
设计的系统满足了应用的要求
作为task的解析文件,在这个过程中经过了多次的变更,每次变更都需要重新解析整个文件。该系统可以很好的满足要求。
原文链接:http://click.aliyun.com/m/9390/
1、图片大小不能超过2M 2、支持格式:.jpg .gif .png .bmp | |
中间水印 右下水印 无水印 |
(最多添加5个标签,多个标签之间用“,”分隔)
个人分类 [编辑分类]
(多个分类之间用“,”分隔)
电商 | 大数据 | java | 阿里云 | 安卓 |
docker | mongodb | 游戏 | 前端 | datav |
php | MySQL |
移动开发Web前端架构设计编程语言互联网数据库系统运维云计算研发管理综合
更多文章(添加关联的文章url)
摘要:(默认自动提取您文章的前200字显示在博客首页作为文章摘要,您也可以在这里自行编辑 )
提示:请不要发布任何推广、广告(包括招聘)、政治、低俗等方面的内容,不要把博客当作SEO工具,否则可能会影响到您的使用。
公司简介|招贤纳士|广告服务|联系方式|版权声明|法律顾问|问题报告|合作伙伴|论坛反馈
网站客服杂志客服微博客服webmaster@csdn.net400-600-2320|北京创新乐知信息技术有限公司
版权所有|江苏知之为计算机有限公司|江苏乐知网络技术有限公司
京 ICP 证 09002463 号|Copyright
© 1999-2016, CSDN.NET, All Rights Reserved
链接地址:
打开方式:
默认
新窗口
当前窗口
父窗口
摘要: 如果需要对成千上万的网络抓包数据文件,在规定的时间内进行解析,应该怎么做?
如果需要对成千上万的网络抓包数据文件,在规定的时间内进行解析,应该怎么做?
场景
有大量的文件每个文件的处理需要花**大量的CPU时间**,对IO的负载不大。
要在规定的时间内完成处理
思路
单机无法达成目标,需要使用集群设计一个批量计算的调度系统
设计
因为该场景是重计算轻IO的,所以可以将所有的文件集中到某一个文件系统中,比如HDFS或者FTP。元数据的管理,放在关系型数据库上,具体的来讲,就是放在MySQL中。因为MySQL技术相对成熟,使用的人多,能够支撑。
在每个计算节点,部署守护程序。每个守护程序都是独立的。守护程序通过抢占式的调度方式,来启动任务。 架构如下图所示:
实现
数据库设计
主要分3部分:文件相关的表
任务相关的表
计算节点相关的表
守护程序设计
主要分为3个独立的程序launcher:负责与数据库交互 ,获取需要处理的文件信息(注意并发),监控节点健康状态
executor:负责与文件系统交互,启动具体的任务,监控任务执行状态
task: 具体的任务程序,比如一个网络数据的解析程序
分为3个独立程序的原因:
保证launcher的精简和健壮,不会任务任务的失败导致整个节点的调度挂掉
保证对task的监控,如果某一task失败,也需要报告其状态,达到对任务的完整跟踪。
应用
规模
1 台MySQL服务器1 个文件系统
12 个计算节点
45350 个文件
负载
文件系统的网络带宽MySQL的负载
结论
设计的系统满足了应用的要求作为task的解析文件,在这个过程中经过了多次的变更,每次变更都需要重新解析整个文件。该系统可以很好的满足要求。
原文链接:http://click.aliyun.com/m/9390/
相关文章推荐
- 用简单的http抓包来实现微信公众网页如何模拟登录
- Java web项目 在线网络考试修改考试问题部分代码
- (WPS) 网络地理信息处理服务
- SSH原理与运用
- HttpClient-4.2.4的使用(简单用法)
- git 关联远程库(https协议)
- Fiddler抓取Android真机上的HTTPS包
- 如何判断TCP数据包是否发送成功
- [Java拾遗二]Tomact及Http 部分总结.
- http://www.cnblogs.com/gaojing/archive/2011/08/23/2413616.html
- Linux 常见的系统管理 + 网络管理 + 常用工具指令(简单的程序安装,如MySQL)
- TCP的三次握手(建立连接)和四次挥手(关闭连接)
- Android 动态监听网络 断网重连
- TCP/IP摘要
- 【腾讯Bugly干货分享】iOS 中 HTTPS 证书验证浅析
- 【腾讯Bugly干货分享】iOS 中 HTTPS 证书验证浅析
- 虚拟机中的centos没网络解决办法
- TCP 的状态
- Retrofit源码解析
- tcpdump使用参考链接