基于Storm的分布式网络爬虫的研究与实现

来源 :桂林理工大学 | 被引量 : 0次 | 上传用户:monorrch
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着大数据时代的到来,数据扮演着越来越重要的角色,如何快速、准确地获取到大量的数据成为当务之急。面对海量数据,单机网络爬虫有CPU、IO、带宽等多重限制,抓取数据性能比较低,其已经不能适应大数据时代的数据抓取工作,分布式网络爬虫便应运而生。分布式网络爬虫可以理解为集群爬虫,如果有抓取任务,多台机器同时运行,可以更快更高效的完成任务。本课题结合当下流行的起点中文网,设计并实现了一种基于Storm的分布式网络爬虫,并将其部署在Docker平台上,结合Storm与Docker的多种特性,提升了网络爬虫的抓取性能、可移植性以及扩展性等等。本文基于Storm流式处理框架、Redis高速缓存数据库、Docker容器平台以及网络爬虫的相关知识,设计出基于Storm的分布式网络爬虫,其具有以下特点:首先,将网络爬虫与Storm流式处理框架相结合,使爬虫任务并行化,从而提高网络爬虫的抓取性能;其次,将抓取到的URL存储到Redis高速缓存数据库中,实现对URL的高速存取,提高URL读写速度;然后将抓取到的数据存储到MySQL集群中,并且引入MyCat数据库中间件与MySQL相结合,实现数据库的读写分离、水平拆分;最终将该分布式爬虫系统部署到Docker容器平台上,保持了爬虫系统在跨环境时的一致性以及高可移植性等等。本次实验环境的搭建将使用六台虚拟机搭建Docker容器集群,其中使用四台虚拟机搭建Storm容器集群,在其余两台虚拟机上分别搭建Redis容器集群和MySQL容器集群,并通过设置Storm容器集群中的不同的工作主机数量以及不同的Worker进程数量,分别进行数据抓取测试。从测试结果分析得出,本文设计的分布式网络爬虫的各功能模块运行良好,能够以较高的准确率对数据进行抓取,而且相比单机网络爬虫,其数据抓取效率明显提高,灵活性和扩展性也大大增强。
其他文献
“苹果出品,必属精品”,这是很多人都拥有的共识。比如笔者要推荐的这款iOS上强大的图片处理软件——iPhoto。它本来是一款由苹果电脑为Mac OS X操作系统和iLife软件套装编写,用于管理数码照片的应用软件,不过现在移植到了iOS系统中,我们在iPad2及以上机型、iPhone4及以上机型和iPod touch第四代及以上机型中都可以用到它。  iPhoto能给你带来的惊艳体验  iOS版的
粤北会战是1939年底至1945年初,中日军队在粤北地区展开的三次大规模激烈的攻防战。广州沦陷后,广东当局面临着严峻的军事和社会形势。面对日军随时北犯的紧张局面,除大力动员民众,进行全面持久抗战外,别无他途。会战前,广东当局以韶关为临时省会,做了大量的民众动员准备工作。在党政当局的领导下,全省动员工作的主脑机构省动员委员会及省政工总队成立了。对动员起着重要作用的省新运妇委会和省赈济会也改组成立。军
棉花立枯病俗称烂腰、折倒病,是棉花苗期主要病害之一。该病常与碳疽病混合发生。苗未出土前可造成烂芽烂种,出土后半个月内危害幼苗茎基部。受害苗茎基部初产生黄褐色水渍状病
脱氧雪腐镰刀菌烯醇(Deoxynivalenol,DON)在饲料、饲料原料中的污染严重。DON可作用于免疫系统,其能引起免疫细胞的氧化损伤。硒有着抗氧化的功能。本研究使用RNAi技术建立GPx1
第1步:将Android手机的短信备份到云端打开QQ同步助手,在主界面选择“短信同步”,选择“备份到云端”,进入短信选择界面之后,选择需要备份的短信,一般是选择“选择全部”,单击底部的
很多朋友已经开始使用IE11,不过你可能会发现这一版本已经无法使用跨窗口拖拽的功能,例如使用鼠标拖拽某一窗口的信息至另一窗口,此时会出现禁止拖拽的黑色标记,难道为此只能
通过对黄河下游引黄灌区典型农民用水户收支情况调查,从水费占生产成本、水费占农业产值、水费占净收益、水费占灌溉增产效益的比例4项指标分别分析农民用水户水费承受能力,从