网站首页 > 博客文章 正文
千里之行,始于足下.不积跬步,无以致千里
一、实现目标
使用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/i6539542640034054663/
四 、安装配置MongoDB
可参考《Nutch-MongoDB-ElasticSearch搭建搜索引擎》:https://www.toutiao.com/i6539542640034054663/
五、安装配置Hadoop
5.1下载Hadoop 2.9.1:http://hadoop.apache.org/releases.html
5.2 设置环境变量
/etc/profile:
export HADOOP_HOME=/home/vminger/workspace/sysapp/hadoop/hadoop-2.9.1
export PATH=$PATH:$HADOOP_HOME/bin
export PDSH_RCMD_TYPE=ssh
source /etc/profile
eval "$(ssh-agent -s)"
ssh-add
5.3 配置HDFS
etc/hadoop/core-site.xml:
etc/hadoop/hdfs-site.xml:
5.4 初始化HDFS
bin/hdfs namenode -format
5.5 启动HDFS
sbin/start-dfs.sh
5.6 配置YARN
etc/hadoop/mapred-site.xml:
etc/hadoop/yarn-site.xml:
5.7 启动YARN
sbin/start-yarn.sh
5.8 jps查看HDFS和YARN进程
六、安装配置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:
export ANT_HOME=/home/vminger/workspace/sysapp/ant/apache-ant-1.9.4
export PATH=$PATH:$ANT_HOME/bin
source /etc/profile
6.3 下载apache-nutch-2.3.1-src.tar.gz,并解压,下载地址:
http://nutch.apache.org/downloads.html
6.4 设置nutch环境变量
/etc/profile:
export NUTCH_HOME=/home/vminger/workspace/sysapp/nutch/apache-nutch-2.3.1/runtime/local
export PATH=$PATH:$NUTCH_HOME/bin
source /etc/profile
6.5 配置nutch
conf/nutch-site.xml:
<configuration>
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.mongodb.store.MongoStore</value>
<description>Default class for storing data</description>
</property>
<property>
<name>http.agent.name</name>
<value>Hist Crawler</value>
</property>
</configuration>
ivy/ivy.xml:
<dependency org="org.apache.gora" name="gora-mongodb" rev="0.6.1" conf="*->default" />
conf/gora.properties:
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 runtime
6.7 设置抓取URL过滤规则:
conf/regex-urlfilter.txt:
+^http://([a-z0-9]*\.)*sina.com.cn/
6.8 设置URL种子:
建立种子文件:urls/seed.ini
将种子文件上传到HDFS上:hadoop dfs -put urls urls
6.9 进入runtime/deploy目录,开始抓取,id345,深度为3:
./bin/crawl urls id345 3
6.10 mongodb中查看结果:
db.id345_webpage.count();
db.id345_webpage.find();
猜你喜欢
- 2024-10-10 OpenSSH更新至8.0,修复存在35年的安全漏洞
- 2024-10-10 [python] 基于paramiko库操作远程服务器
- 2024-10-10 利用Zabbix监控系统SSH方式检测远程目标主机
- 2024-10-10 手工方式IPSec VPN配置保障单位与分支之间的数据安全
- 2024-10-10 SSH 简介:安全远程访问的利器(安全远程登录协议ssh)
- 2024-10-10 [ Laravel 5.6 文档 ] 快速入门 —— 重量级开发环境:Homestead
- 2024-10-10 快速上手:Docker环境下的WordPress安装全攻略
- 2024-10-10 阿里云服务器Centos7.3安装Git(阿里云服务器centos装桌面)
- 2024-10-10 如何使用ssh密钥登录远程服务器(如何使用ssh密钥登录远程服务器账号)
- 2024-10-10 C++开发:VSCode SSH访问远程服务器,编程、调试、运行C++代码
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 355℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 344℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)