NUTCH的分布式部署与运行
来源:互联网 发布:织梦 栏目id if 判断 编辑:程序博客网 时间:2024/06/06 08:50
保留转载法律声明。
部分内容来自于nutch wiki的网络翻译。
本文只有nutch的安装、编译、部署和运行,没有hadoop和debug相关信息。
1. ant的安装
ant是一个基于JAVA的自动化脚本引擎,脚本格式为XML。除了做JAVA编译相关任务外,ANT还可以通过插件实现很多应用的调用。
ANT的基本概念:Java的Makefile
当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java 中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。
每个ant脚本(缺省叫build.xml)中设置了一系列任务(target):比如对于一个一般的项目可能需要有以下任务。
任务1:usage 打印本脚本的帮助信息(缺省)
任务2:clean <--init 清空初始化环境
任务3:javadoc <--build <-- init 生成JAVADOC
任务4:jar <-- build<-- init 生成JAR
任务5:all <-- jar +javadoc <-- build <-- init 完成以上所有任务:jar javadoc
而多个任务之间往往又包含了一定了依赖关系:比如把整个应用打包任务(jar)的这个依赖于编译任务(build),而编译任务又依赖于整个环境初始化任 务(init)等。
ANT的安装
解包后在系统可执行路径中加入指向ant的bin的路径就可以了,比如可以在GNU/Linux上把以下配置加入/etc/profile中:
export ANT_HOME=/home/training/apache-ant-1.9.3
export JAVA_HOME=/usr/java/jdk1.6.0_31/
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
这样执行ant 后,如果不指定配置文件ant会缺省找build.xml这个配置文件,并根据配置文件执行任务,缺省的任务设置可以指向最常用的任务,比如: build,或指向打印帮助信息:usage,告诉用户有那些脚本选项可以使用。
2. Nutch的编译
因为自nutch-1.7开始就不再提供可(分布式)部署的Nutch二进制文件,而且nutch-2.x版本也只有源码。
在nutch主目录下执行ant命令,对ant源代码进行编译。根据各自的带宽情况,所需要的时间是不一样的。下载过程及成功信息如下面两张图所示,在第二张图的最后,可以看到提示信息BUILD SUCCESSFUL,说明编译成功,若提示信息为BUILD FAILED,则说明编译失败,需要根据编译过程中输出的信息查找错误原因
编译成功后,再执行ls –al命令,发现目录结构跟编译前发现了变化。新增了build和runtime目录。我们需要的就是runtime/deploy目录下的文件。
3. Nutch的配置与部署
在 conf/nutch-site.xml配置文件中添加你的代理名称字段(http.agent.name),它的作用是在爬取网页时,告诉服务器自己是谁。配置属性如下:
<property>
<name>http.agent.name</name>
<value>My Nutch Spider</value>
</property>
然后在NUTCH_HOME目录中新建文件夹 urls ,新建文本文档 /urls/seed.txt 。在seed.txt中写入我们要爬取的url 地址,例如:
http://nutch.apache.org/
如果我们只爬取一个网站的内容,就要在urls过滤配置文件 — conf/regex-urlfilter.txt中添加一个正则表达式,例如:
+^http://([a-z0-9]*\.)*nutch.apache.org/
很简单,这样我们就完成了本地模式的nutch配置。但我们的目标是nutch的分布式运行部署,所以我们还要搭建好一个Hadoop集群,如何配置一个集群请看智能推荐引擎项目的早期文档。
4. 运行Nutch爬虫
在本地模式下运行nutch是很简单的,我们的重点是分布式执行。
1. 将urls/文件夹放到hdfs中
hadoop fs –put urls
2. 执行爬虫命令
hadoop jar apache-nutch-1.7.joborg.apache.nutch.crawl.Crawl urls -dir crawl -depth 3 -topN 5
3. 爬取的信息会放在HDFS上的crawl文件夹中,等待进一步处理
下节会说说运行nutch出现的一些错误debug。
- NUTCH的分布式部署与运行
- nutch-1.0 的分布式查询部署
- nutch 分布式部署 自测
- nutch 【配置与运行】
- Linux下的Nutch分布式配置与安装
- Nutch 1.0配置与运行
- Nutch 1.0配置与运行
- ZooKeeper的部署与运行
- MooseFS 分布式文件系统的部署与应用
- 三,nutch 1.0 爬虫配置与运行
- Spark1.6的部署配置与运行
- Filter对象的部署与运行
- nutch安装配置运行时,一些常见的错误与解决方法
- Nutch的安装与配置
- scgi的分布式部署
- RLS的分布式部署
- kafka的分布式部署
- 运行与部署
- mac 下安装 tomcat7
- doubangou IMS学习
- tomcat结合nginx使用小结
- 浅析基于二维轮廓线重构表面算法
- viewpage 和scrollview 冲突
- NUTCH的分布式部署与运行
- jpg图像命名空间 jpeg
- 算法训练 操作格子
- SIP协议概述
- 网络连接故障处理六部曲
- Activex、OLE、COM、OCX、DLL之间的区别
- Jenkins的配置
- 高精度运算。
- Spring 自定义json converter