- 浏览: 167296 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
小桔子:
u 棒棒哒!按照你的搞定了,之前搞了好久!u 棒棒哒!!! ...
Ubuntu为Tomcat启用80端口 -
u011938035:
我用的是nutch1.7,org.apache.nutch.n ...
nutch1.4 URLNormalizers 详解 -
peigang:
试试跟踪一下脚本,应该是环境变量的问题。
nutch1.4:爬虫定时抓取设置 -
zhangmj10:
你好,看这帖子是好久以前的,不知道你能不能看到。不知道能不能帮 ...
nutch1.4:爬虫定时抓取设置 -
shinide1989:
楼主你好,我正需要修改html的解析,并想把结果存为其他格 ...
nutch1.4插件开发
nutch1.4 分布式爬取
- 博客分类:
- nutch
从nutch1.3开始本地抓取(单机),分布式抓取(集群)所使用的配置文件和命令单独分开。
NUTCH_HOME/conf 为分布式抓取所用配置文件
NUTCH_HOME/runtime/deply/bin/nutch 分布式抓取命令
NUTCH_HOME/runtime/local/conf 为本地抓取所用配置文件
NUTCH_HOME/runtime/local/bin/nutch 本地抓取命令
另外,修改了NUTCH_HOME/conf下的配置文件,需要重新编译之后才能生效。
爬取命令分别如下:
单机:
*/nutch1.4/runtime/local/bin/nutch.sh crawl urls -solr http://address:point/solr -dir crawl -depth 2 -threads 1 -topN 100
集群:
*/nutch1.4/runtime/deploy/bin/nutch.sh crawl urls -solr http://address:point/solr -dir crawl -depth 2 -threads 1 -topN 100
环境准备:
1、配置hadoop,确保hadoop运行正常。(hadoop配置请参考文章。《hadoop集群配置》)
2、将hadoop/conf目录中的配置文件拷贝到nutch/conf中,使nutch绑定hadoop。
程序准备:
1、将nutch1.4拷贝到其他集群机器中采用保证存放目录结构相同;
2 、运行本文所示集群脚本,可能出现如下错误:
12/06/18 02:49:27 INFO mapred.JobClient: Running job: job_201206180227_0001 12/06/18 02:49:28 INFO mapred.JobClient: map 0% reduce 0% 12/06/18 02:49:48 INFO mapred.JobClient: Task Id : attempt_201206180227_0001_m_000000_0, Status : FAILED java.lang.RuntimeException: Error in configuring object at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:93) at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64) at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:432) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) at org.apache.hadoop.mapred.Child$4.run(Child.java:255) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1083) at org.apache.hadoop.mapred.Child.main(Child.java:249) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:88) ... 9 more
无法找到plugins导致的问题,将如下配置加入nutch-default.xml中
<property> <name>plugin.folders</name> <value>./plugins</value> <description>Directories where nutch plugins are located. Each element may be a relative or absolute path. If absolute, it is used as is. If relative, it is searched for on the classpath.</description> </property>
重新编译并部署,将编译后的nutch-*job拷贝到deploy下,注意文件命名格式必须符合要求。默认的文件名apache-nutch-*-SNAPSHOT.job会导致 java.io.IOException异常。
总结:deploy中只需要bin和*.job文件就可以集群运行。所以配置都针对*.job中的各项文件、路径,以上配置经过多次测试确认,以供参考。
--------------------------------------------------------
单点环境爬取:
分布式爬取各个步骤无法有效监控,单点爬取是测试验证程序的一个办法。
单点爬取只是将deploy中的*.job文件进行了分别的维护,包括bin、conf、lib、log、plugins。只需将项目对应目录中的文件拷贝到单点环境即可。拷贝完后执行 bin/nutch ******* 。如果爬取失败,则可以根据log中的日志跟踪来进行处理。一般情况下先检查各目录中的文件是否同步完毕,特别是lib中的*.jar文件是不是全部引入等等。
评论
你好,这里有个问题想请教一下:
修改了NUTCH_HOME/conf下的配置文件,需要重新编译之后才能生效,我的理解是将相关的配置文件打包在nutch-*job文件中,现在有个疑问是:对于nutch绑定hadoop的操作,是放在重新编译之前做,还是放在重新编译之后做。如果放在重新编译之前做,那么每次增加新hadoop结点,每次都要重新编译了吗?盼解答。
问题问的很好。其实只需要将core-site.xml,hdfs-site.xml,mapred-site.xml复制到nutch中即可。这些配置文件中不涉及子节点的设置。所以当配置好hadoop后再配置nutch。以后增加节点跟nutch也没有关系。nutch指向namenode的配置不能有变化。
你好,这里有个问题想请教一下:
修改了NUTCH_HOME/conf下的配置文件,需要重新编译之后才能生效,我的理解是将相关的配置文件打包在nutch-*job文件中,现在有个疑问是:对于nutch绑定hadoop的操作,是放在重新编译之前做,还是放在重新编译之后做。如果放在重新编译之前做,那么每次增加新hadoop结点,每次都要重新编译了吗?盼解答。
修改了NUTCH_HOME/conf下的配置文件,需要重新编译之后才能生效,我的理解是将相关的配置文件打包在nutch-*job文件中,现在有个疑问是:nutch绑定hadoop,应该是在重新编译之前绑定,还是在先绑定,再编译。如果是后者,每次增加新hadoop结点,每次都要重新编译了吗?盼回答。
root@SZ11101345c02:/home/mos/nutch_src/branch-1.5# runtime/local/bin/nutch crawl urls -dir crawl -depth 3 -topN 5
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.hadoop.util.PlatformName. Program will exit.
Can't find Hadoop executable. Add HADOOP_HOME/bin to the path or run in local mode.
发表评论
-
Nutch1.7二次开发培训讲义
2015-09-16 15:23 1239做Nutch二次开发,开发阶段用什么操作系统都可以,只要有J ... -
nutch-default.xml 配置范例
2014-07-22 20:20 2159nutch的配置文件属性很多,需要根据实际需要详细配置。下面 ... -
nutch本地模式调试环境配置
2014-07-22 17:33 721nutch本地模式调试可以跟踪详细的爬取过程,便于调 ... -
nutch分布式调试环境配置
2014-07-17 14:35 593准备:hadoop单机模式设置,参考:http:/ ... -
nutch 正文提取流程解析
2013-05-03 17:59 1088nutch正文提取在Fatcher的run方法中进行,本文 ... -
用Eclipse开发nutch准备工作
2012-09-20 11:34 1285本文来源于:http://zettadata.blogs ... -
nutch1.4 CrawlDatum详解
2012-09-17 14:04 0nutch中CrawlDatum对象封装了爬取数据,包括爬取地 ... -
nutch1.4:爬虫定时抓取设置
2012-06-13 15:03 4624nutch1.4定时爬取数据配合linux定时任务可以实现nu ... -
nutch1.4 开发:增加外部jar包
2012-06-11 14:48 1539ntuch1.4开发中可能会涉及到引入外部jar包的情况,比如 ... -
nutch1.4 爬虫父页面参数传递到子页面注意事项
2012-06-02 11:51 17771、inject中以读取文件的方式传入自定义参数: d ... -
nutch1.4 Fetcher详解
2012-05-24 17:37 0org.apache.nutch.fetcher.Fetche ... -
nutch1.4 Protocol接口解析
2012-04-24 17:44 0实现Protocol接口的过滤器插件,所有插件都extends ... -
nutch1.4自定义字段开发实例
2012-04-13 19:41 0本文介绍nutch1.4中插件方式实现自定义字段,并在solr ... -
nutch1.4插件开发
2012-04-13 17:02 2836参考了不少nutch插件开 ... -
nutch1.4 解析器 ParseSegment详解
2012-04-11 15:17 1211org.apache.nutch.parse.ParseSeg ... -
nutch1.4 Generator详解
2012-03-31 15:14 0org.apache.nutch.crawl.Generato ... -
nutch1.4 ScoringFilter详解
2012-03-29 17:39 1150org.apache.nutch.scoring.Scorin ... -
nutch1.4 URLFilter详解
2012-03-29 17:16 1622org.apache.nutch.net.URLFilter接 ... -
nutch1.4 URLNormalizers 详解
2012-03-29 15:56 1667org.apache.nutch.net.URLNorm ... -
nutch1.4 Injector 详解
2012-03-29 18:04 1119org.apache.nutch.crawl.Injector ...
相关推荐
nutch1.4帮助文档,学习nutch1.4必备,最新nutch1.4核心类解读!
nutch1.4 在windows下的安装配置环境搭建
nutch 1.4 在windows下安装配置
Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。Nutch目前最新的版本为version1.4。这个为nutch的最新版 1.4。
apache-nutch-1.4-bin.tar.gz.part2
nutch分布式搜索索引热替换程序,当使用nutch分布式搜索的时候,通过修改nutch来实现重建索引和分布式搜索分隔开,相互不影响
基于Nutch的分布式主题爬虫的研究与实现,王光,辛阳,随着互联网的日新月异的发展,网络中存储的信息量急剧增加,传统的通用搜索引擎在广泛应用的同时,面临无法满足个性化、专业化检
nutch安装指南,nutch教程,nutch网络爬取
Nutch1[1].4_windows下eclipse配置图文详解
Nutch分布式网络爬虫研究与优化.pdfNutch分布式网络爬虫研究与优化.pdfNutch分布式网络爬虫研究与优化.pdf
这些组件相互协作,通过消息队列来传递数据,从而实现高效的分布式爬取。 三、配置Nutch 在使用Nutch之前,需要先进行配置。主要包括设置爬取的起始URL、定义抓取的深度和数量、指定存储数据的目录等。Nutch通过一...
Linux下Nutch分布式配置 使用:分布式爬虫、索引、Nutch搜索本地数据、Nutch搜索HDFS数据。
apache-nutch-1.4-bin.part2
apache-nutch-1.4-bin.part1
Nutch-1.0分布式安装手册.rar,完整的
apache-nutch-1.4-bin.tar.gz.part1
这是本人在完全分布式环境下在Cent-OS中配置Nutch-1.1时的总结文档,但该文档适合所有Linux系统和目前各版本的nutch。 目 录 介绍 ............................................................... 2 0 集群...
Nutch 是一个开源Java 实现的搜索引擎。这里是它的安装包。
非常实用的分布式搜索引擎开发工具nutch,有兴趣的赶紧下吧!