- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Nutch的搜索引擎与HBase的结合在大数据时代的应用探究.doc
基于Nutch的搜索引擎与HBase的结合在大数据时代的应用探究
摘 要:Nutch作为一个在2002年兴起于Apache开源项目的开源搜索引擎,经过十多年的发展,无论在抓取速度、抓取效率还是部署方便性上,都更加成熟,被越来越多的人认可。HBase作为Apache开源项目下的著名分布式的、面向列的开源数据库,有着强大的可扩展性和极高的按行健查找效率。二者与大数据这一概念相伴而生,二者的结合也必将在大数据时代有所作为。
关键词:Nutch;HBase;大数据
中图分类号:TP393.09;TP333
搜索引擎能根据一定的算法或者规则,运用计算机程序从互联网上抓取信息,并在组织、处理和索引信息之后,为用户提供检索类服务。Nutch2.x版本通过使用Apache Gora处理对象的持久映射,使得存储从特定的底层数据存储分离出来。这意味着我们可以实现Nutch与众多NoSQL存储解决方案相集成。HBase,一种面向列的分布式存储系统,具有高可靠性、高性能、可伸缩的优点,利用HBase可在廉价PC上搭建起大规模集群。在致力于起源于开源项目Nutch的大数据处理方面,二者结合所带来的优势不言而喻。
1 需求分析
随着多元化新兴媒体形态不断出现,互联网上的数据每年将增长50%,并且目前世界上90%以上的数据是最近几年才产生的。搜索引擎作为连接受众和互联网海量信息的窗口,发挥着重要作用。而传统通用搜索引擎难以满足企业或者个人的定制化需要,难以准确判别用户感兴趣的信息并提供相应的搜索服务,为解决这些问题,Nutch应运而生。
反观储存层面,当代典型的关系型数据库在大数据的应用中越来越乏力,例如为巨量文档建立索引、高流量网站的网页服务,以及发送流式媒体等方面。而以HBase为代表的NoSQL能实现数据高并发读写,海量数据存储和访问,高扩展性,这些优点使得它在处理Nutch抓取到的海量数据时游刃有余。
2 系统体系结构设计
2.1 系统框架
图1 系统框架结构图
如图1所示,Nutch网络爬虫不断搜索Internet来搜寻新网页,或者更新过的网页,网页独立的存储在HBase中,等待索引。通过MapReduce对抓取到的网页进行索引,以提高用户搜索的方便性和准确性。最后用户通过搜索程序入口提交目标关键词,通过索引在HBase中找到相关记录,并返回给用户。
2.2 Nutch工作过程
图2 Nutch工作过程
(1)Injector注入目标URL列表。从用户指定的urlDir目录下,获取URL列表内容,并进行格式化、过滤,消除其中的不合法地址,设定抓取状态(fetched和unfetched)和初始分值;将URL及其状态、分值存人CrawlDB数据库,或更新已有内容成最新的;(2)Generator产生成抓取列表。从CrawlDB数据库中将地址取出,按一定规则进行过滤和排序;最后将生成的列表写入segments中;(3)Fetcher抓取网页。对segments下的抓取列表顺序抓取。在抓取过程中,页面的地址可能会发生跳转,需要重定向。该过程采用多线程方式,获得页面源文件后同时进行下一步操作,即解析内容;(4)解析网页内容。解析segments目录中由Fetcher抓取到的页面,将页面分解到parse_date和parse_text目录下。其中,parse_date中保存页面的标题、输入输出链接等内容;parse_text中保存页面的文本内容;(5)更新CrawlDB及反转链接。根据segments目录下的crawl_fetch和crawl_parse来更新CrawlDB,增添新的待抓取URL地址。Invert Links统计外部页面对本页面链接,并更新LinkDB,为建立索引的工作提供准备;(6)Indexer建立索引及索引去重。该过程生成Lucene索引,将本地数据转换成文本,并进行分析,并将已分析的文本保存到数据库中。
3 系统部署及实现
3.1 Nutch及HBase安装部署
(1)Nutch 在Eclipse下的配置过程。使用svn从nutch官方网站直接检出项目到本地后,配置项目路径,删除项目文件夹下src文件夹,随后添加部分的java和test文件夹。由于Nutch在版本1.2之后,使用ivy来进行依赖管理。因此要添加IvyDE依赖库,使用ivy下ivy.xml作为依赖库,最后进行ant;(2)Ubuntu终端下直接配置HBase。在终端下,使用wget工具下载zookeeper,并编辑zoo.cfg文件。为防止在负载压力过大,linux默认文件句柄数过低会造成异常,还需要修改nproc值。最后编辑hbase-env.sh、hbas
您可能关注的文档
最近下载
- 2023年阳江市社区工作者招聘考试真题 .pdf VIP
- 《高效课堂和有效教学模式研究》结题报告材料.pdf VIP
- 生猪、牛、羊、鸡、鸭、鹅屠宰HACCP计划模式表.pdf VIP
- 2024-2025学年广西壮族自治区小升初英语真题(含答案).pdf VIP
- 环保项目设备供货及服务保障措施.docx VIP
- 初中物理每日默写知识点(1)_Decrypted.pdf VIP
- 人教版信息科技四年级《多彩的数字世界》教学PPT课件.pptx VIP
- 我的幸福大家庭.pptx VIP
- 安全教育开学第一课主题班会PPT课件.pptx VIP
- (2025秋新版)人教版数学二年级上册教学计划.docx VIP
文档评论(0)