NutchHadoopMongoDB构建分布式爬虫

千里之行,始于足下.不积跬步,无以致千里一、实现目标使用Nutch、Hadoop、MongoDB实现一个简单的分布式爬虫,在Hadoop上运行Nutch爬虫抓取

大家好,今天给各位分享NutchHadoopMongoDB构建分布式爬虫的一些知识,其中也会对进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

使用Nutch、Hadoop和MongoDB实现一个简单的分布式爬虫。在Hadoop上运行Nutch爬虫来爬取网页并将其存储在MongoDB中。

2. 实验环境

CentOS7 Linux x86_64

JDK 1.8.0_161

MongoDB 2.6.12-6

Hadoop 2.9.1

阿帕奇-ant-1.9.4

阿帕奇-nutch-2.3.1

3.安装Oracle JDK

请参考《Nutch-MongoDB-ElasticSearch搭建搜索引擎》:https://www.toutiao.com/i6539542640034054663/

4.安装和配置MongoDB

请参考《Nutch-MongoDB-ElasticSearch搭建搜索引擎》:https://www.toutiao.com/i6539542640034054663/

5.安装和配置Hadoop

5.1 下载Hadoop 2.9.1:http://hadoop.apache.org/releases.html

5.2 设置环境变量

/etc/profile:

导出HADOOP_HOME=/home/vminger/workspace/sysapp/hadoop/hadoop-2.9.1

导出路径=$PATH:$HADOOP_HOME/bin

导出PDSH_RCMD_TYPE=ssh

源/etc/profile

eval ‘$(ssh-agent -s)’

ssh-添加

NutchHadoopMongoDB构建分布式爬虫

5.3 配置HDFS

等/hadoop/core-site.xml:

等/hadoop/hdfs-site.xml:

5.4 初始化HDFS

bin/hdfs namenode -格式

5.5 启动HDFS

sbin/start-dfs.sh

5.6 配置纱线

etc/hadoop/mapred-site.xml:

等/hadoop/yarn-site.xml:

5.7 启动纱线

sbin/start-yarn.sh

5.8 jps 查看HDFS和YARN进程

6.安装和配置Nutch

6.1 下载apache-ant-1.9.4-bin.tar.gz并解压。下载地址:

https://archive.apache.org/dist/ant/binaries/binaries/apache-ant-1.9.4-bin.tar.gz

6.2 设置ant环境变量

/etc/profile:

导出ANT_HOME=/home/vminger/workspace/sysapp/ant/apache-ant-1.9.4

导出路径=$PATH:$ANT_HOME/bin

源/etc/profile

6.3 下载apache-nutch-2.3.1-src.tar.gz并解压。下载地址:

NutchHadoopMongoDB构建分布式爬虫

http://nutch.apache.org/downloads.html

6.4 设置nutch环境变量

/etc/profile:

导出NUTCH_HOME=/home/vminger/workspace/sysapp/nutch/apache-nutch-2.3.1/runtime/local

导出路径=$PATH:$NUTCH_HOME/bin

源/etc/profile

6.5 配置nutch

conf/nutch-site.xml:

配置

财产

名称存储.数据.存储.类/名称

valueorg.apache.gora.mongodb.store.MongoStore/值

description用于存储数据/描述的默认类

/财产

财产

名称http.agent.名称/名称

valueHist爬虫/value

/财产

/配置

ivy/ivy.xml:

依赖org=’org.apache.gora’ name=’gora-mongodb’ rev=’0.6.1′ conf=’*-default’ /

conf/gora.properties:

NutchHadoopMongoDB构建分布式爬虫

gora.datastore.default=org.apache.gora.mongodb.store.MongoStore

gora.mongodb.override_hadoop_configuration=false

gora.mongodb.mapping.file=/gora-mongodb-mapping.xml

gora.mongodb.servers=vminger:27017

gora.mongodb.db=test1

gora.mongodb.login=root

gora.mongodb.secret=root

6.6 编译Nutch:ant运行时

6.7 设置爬取URL过滤规则:

conf/regex-urlfilter.txt:

+^http://([a-z0-9]*\.)*sina.com.cn/

6.8 设置URL 种子:

创建种子文件:urls/seed.ini

将torrent 文件上传到HDFS:hadoop dfs -put urls urls

6.9 进入runtime/deploy目录,开始爬取,id345,深度3:

./bin/抓取网址id345 3

在6.10 mongodb中查看结果:

db.id345_webpage.count();

db.id345_webpage.find();

用户评论

NutchHadoopMongoDB构建分布式爬虫
冷落了♂自己·

这篇文章干货满满!用到的各种技术栈都很实用,对我正在尝试搭建分布式爬虫的项目很有帮助。特别是结合了 Nutch、Hadoop 和 MongoDB 的方案,很有创新性。 希望能看到后续文章分享更具体的代码和配置细节!

    有15位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
半梦半醒半疯癫

对于刚开始接触爬虫的人来说,这篇博文介绍得非常清晰易懂入门指南。我之前一直在用爬虫自带的抓取逻辑,现在了解到Nutch 可以做到更高效的抓取和数据处理,这个分布式架构真厉害!

    有16位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
命该如此

搭建分布式爬虫确实是越来越重要的方向了。不过文中提到的技术栈对我来说有点复杂,还需要再深入研究一下才能完全理解其中的原理和优势。

    有14位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
千城暮雪

Nutch+Hadoop确实很能满足大流量数据的处理需求,MongoDB 的 NoSQL 优点也在这套方案中得到了充分发挥。 我印象中 Nutch 主要负责抓取链接和解析网页内容,而 Hadoop 可以进行大数据处理,这样分工明确效率更高。

    有11位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
娇眉恨

爬虫发展到分布式这个阶段了?之前以为只是简单地利用多线程提升速度就可以,现在看来技术真的日新月异!

    有14位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
江山策

搭建分布式爬虫很不容易,需要掌握很多不同的技术,这篇博文比较全面地介绍了关键点,对于想深入了解这方面的人来说非常有用。但是我个人觉得文章还是可以再详细一点,例如具体配置步骤和常见问题解决方案。

    有9位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
幸好是你

我对 MongoDB 的存储机制不是很熟悉,文中对此的解释不够详细!我希望作者能多加一些讲解,让新手更容易理解这种数据结构的优势。

    有15位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
代价是折磨╳

搭建分布式爬虫需要考虑很多因素,不仅仅是技术选择,还有数据安全、法律合规等方面的问题。希望文章能够进一步探讨这些现实问题,提供更全面的解决方案。

    有13位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
浮世繁华

这篇文章太实用啦!我的项目正好需要大规模数据处理,NutchHadoopMongoDB 这套技术方案很适合我。期待作者能分享更多案例分析和经验总结!

    有18位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
忘故

分布式爬虫确实可以解决很多传统爬虫无法克服的难题,但同时也带来了一些新的挑战,例如数据同步、故障容错等。希望文章能够针对这些问题提出一些可行的解决方案。

    有14位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
身影

文中提到的 NutchHadoopMongoDB 架构很有意思,让我对分布式爬虫有了更深入的了解。不过我还是比较好奇这套方案的性能表现怎么样?对于百万级页面数量的抓取效率能达到多少呢?

    有5位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
昂贵的背影

这个标题吸引了我!虽然我还没读全文章,但光是看关键词就觉得很有用武之地。分布式爬虫一直想尝试一下,以后有机会专门研究下 Nutch,Hadoop 和 MongoDB 的应用场景。

    有15位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
独角戏°

之前一直在使用开源的爬虫框架,感觉效率不够高,现在看来搭建分布式爬虫才是未来的趋势啊!

    有15位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
予之欢颜

文章中提到的技术栈我大部分都了解。但还是希望能看到一些更具体的代码示例和配置指导,方便我们快速上手和应用到实践中去。

    有5位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
花海

对于一个初学者来说,这种技术方案确实比较复杂,需要花费更多时间学习和理解。希望有更多简单易上手的分布式爬虫解决方案,能够帮助更多人入门!

    有15位网友表示赞同!

NutchHadoopMongoDB构建分布式爬虫
北朽暖栀

搭建分布式爬虫确实是一个提升项目效率的好办法,但也会增加不少技术门槛,需要仔细衡量成本效益再决定是否实施!

    有11位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/154335.html

(0)
小su's avatar小su
上一篇 2024年9月20日 上午11:50
下一篇 2024年9月20日 上午11:56

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注