一、实现目标
使用Nutch、Hadoop、MongoDB实现简单的分布式爬虫,在Hadoop中运行Nutch爬虫捕获页面,并保存到MongoDB中。
二.实验环境
CentOS7 Linux x86_64
JDK 1.8.0_161
mongodb 2.6.12-6
hadoop 2.9.1
apache-ant-1.9.4
apache-nutch-2.3.1
三.安装Oracle JDK
《Nutch-MongoDB-ElasticSearch搭建搜索引擎》:https://www.toutiao.com/I 6539542640034054663 /
四.安装配置MongoDB
《Nutch-MongoDB-ElasticSearch搭建搜索引擎》:https://www.toutiao.com/I 6539542640034054663 /
五.安装配置Hadoop
5.1 Hadoop2.9.1: http://下载Hadoop.Apache.org/releases.html
5.2环境变量设置
/etc/profile:
导出Hadoop _ home=/home/vmin ger/workspace/sys app/Hadoop/Hadoop-2.9.1
导出路径=$ path : $ Hadoop _ home/drd qd
export PDSH_RCMD_TYPE=ssh
源/etc /配置文件
eval'$(ssh-agent-s ) )。
ssh-add
5.3HDFS配置
etc/hadoop/core-site.xml:
etc/hadoop/hdfs-site.xml:
5.4HDFS初始化
drdqd/hdfs namenode -format
5.5启动硬盘
sdrdqd/start-dfs.sh
5.6yarn配置
etc/hadoop/mapred-site.xml :
etc/hadoop/yarn-site.xml :
5.7启动yarn
sdrdqd/start-yarn.sh
5.8查看jpshdfs和YARN进程
六.安装配置Nutch
6.1下载、解压缩Apache-ant-1.9.4-drd qd.tar.gz,下载地址:
3359 archive.Apache.org/dist/ant/drdqdaries/drdqdaries/Apache-ant-1.9.4-drd qd.tar.gz
6.2ant环境变量设置
/etc/profile:
exportant _ home=/home/vmin ger/workspace/sys app/ant/Apache-ant-1.9.4
导出路径=$ path : $ ant _ home/drd qd
源/etc /配置文件
6.3下载、解压缩Apache-nutch-2.3.1-src.tar.gz,下载地址:
3358 nutch.Apache.org/downloads.html
6.4设置nutch环境变量
/etc/profile:
导出nutch _ home=/home/vmin ger/workspace/sys app/nutch/Apache-nutch-2.3.1/runtime/local
导出路径=$ path : $ nutch _ home/drd qd
源/etc /配置文件
6.5nutch配置
conf/nutch-site.xml :
storage.data.store.class
org.Apache.gora.MongoDB.store.mongo store
默认类for storing data
http.agent.name
Hist Crawler
zgdds/zgdds.xml :
conf/gora.properties :
gora.datastore.default=org.Apache.gora.MongoDB.store.mongo store
gora.MongoDB.override _ Hadoop _ configuration=false
gora.MongoDB.mapping.file=/gora-MongoDB-mapping.XML
gora.MongoDB.servers=vmin ger :27017
gora.mongodb.db=test1
gora.mongodb.login=root
gora.mongodb.secret=root
6.6 nutch :编译运行时
6.7设置捕获URL过滤规则:
conf/regex-urlfilter.txt :
^http://(a-z0-9 ) *.) *sina.com.cn/
6.8URL种子设置:
创建种子文件: urls/seed.ini
将种子文件上传到HDFS:Hadoop DFS-put URLs URLs
6.9进入runtime/deploy目录,开始捕获。 id345,深度3 :
./drdqd/crawl urls id345 3
6.10 mongodb查看结果:
db.id345_webpage.count (;
db.id345_webpage.find (;