Windows 环境下,Netbeans下导入Nutch1.2。 

测试环境:

   Nutch 1.2

   Netbean7.4

   Java 1.8.0_20

   cygwin

安装步骤:

  1.安装:Cygwin

  •下载 Nutch1.2  (下载地址:http://archive.apache.org/dist/nutch/)

  •按照教程进行安装 (教程地址: http://wiki.apache.org/nutch/NutchTutorial)

环境变量配置如下:

classpath:  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

JAVA_HOME: D:\Program Files\Java\jdk1.8.0_20

CATALINA_HOME: D:\terry\Software\Java\apache-tomcat-7.0.55

ANT_HOME:D:\terry\Work\Java\apache-ant-1.9.4-bin\apache-ant-1.9.4

Path: %JAVA_HOME%\bin;%CATALINA_HOME%\bin;%CATALINA_HOME%\lib;%ANT_HOME%\bin;%JAVA_HOME%\jre\bin;

系统环境变量部分: Path:C:\Windows\System32;D:\cygwin\bin;

2.在Netbeans中创建项目

创建项目过程:

启动 Netbeans7.4  文件->新建项目->常规;

  •选择“基于现有源代码的Java项目”->下一步,选择项目名称和项目文件夹,可以根据自己的需要自行指定;

  •选择下一步,点击“源包文件夹”文本框右边的“添加文件夹”按钮,浏览文件目录选择Nutch安装目录下的src文件夹;

  •点击完成,此时工程已经建立,当需要对项目进行配置才能实现代码的调试;

 导入文件及Jar包过程: 

  •在左边的“项目”导航窗口中,选择库包,点击右键,选择属性,此时弹出项目属性配置窗口

  •选择配置“库”,点击按钮“添加JAR/文件夹”,添加Nutch安装目录下的 "conf"目录下所有文件;

  •继续将Nutch安装目录下“lib”和“plugin”文件夹中的所有JAR包添加进来,此处比较麻烦,因为Netbeans不能自动扫描到文件夹下所有的JAR包,必须手工将其添加进来。

  此时,您可以选择左方“项目”导航窗口中的项目图标,点击右键,选择“生成项目”,项目应该能正确通过编译。您还需要对Nutch进行配置以调试Nutch的爬行代码。

 配置 Nutch

  在Nutch安装目录下,找到文件/conf/nutch-defaul.xml, 将其 "plugin.folders" 属性值改为"Nutch安装目录/src/plugin"

运行  

 在Nutch中运行Nutch爬虫

  •选择左方“项目”导航窗口中的项目图标,点击右键,选择“属性”,在左方类别窗口中选择“运行”,对运行参数进行配置

  •主类: 选择 org.apache.nutch.crawl.Crawl

  •参数: 填入 urls/microsoft.txt -dir crawl -depth 3 -topN 50

  •VM选项:填入 -Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log

  •点击“确定”按钮退出

  •选择左方“项目”导航窗口中的项目图标,点击右键,选择“运行项目”

运行过程中出现的错误及解决办法:

1  mapred.JobClient - No job jar file set.  User classes may not be found. See JobConf(Class) or JobConf#setJar(String).

2014-10-17 13:20:45,384 INFO  crawl.Crawl - crawl started in: crawl

2014-10-17 13:20:45,384 INFO  crawl.Crawl - rootUrlDir = urls/microsoft_de-DE.txt
2014-10-17 13:20:45,384 INFO  crawl.Crawl - threads = 10
2014-10-17 13:20:45,384 INFO  crawl.Crawl - depth = 3
2014-10-17 13:20:45,384 INFO  crawl.Crawl - indexer=lucene
2014-10-17 13:20:45,384 INFO  crawl.Crawl - topN = 50
2014-10-17 13:20:59,721 INFO  crawl.Injector - Injector: starting at 2014-10-17 13:20:55
2014-10-17 13:21:00,719 INFO  crawl.Injector - Injector: crawlDb: crawl/crawldb
2014-10-17 13:21:01,530 INFO  crawl.Injector - Injector: urlDir: urls/microsoft_de-DE.txt
2014-10-17 13:21:11,187 INFO  crawl.Injector - Injector: Converting injected urls to crawl db entries.
2014-10-17 13:21:45,241 WARN  mapred.JobClient - Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
2014-10-17 13:21:45,850 WARN  mapred.JobClient - No job jar file set.  User classes may not be found. See JobConf(Class) or JobConf#setJar(String).

 出错原因:找不到Mapper类和Reduce类。

解决办法:

将本工程导出jar包放到工程根目录下面,并在Crawl.java类中获取到配置文件后重新加载mapred.jar包。

conf.set("mapred.jar", "NutchSource.jar"); NutchSource.jar是Nutch项目编译后的Jar包。

代码如下:  public static void main(String args[]) throws Exception {

    if (args.length < 1) {
      System.out.println
      ("Usage: Crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN N]" +
        " [-solr solrURL]");
      return;
    }     Configuration conf = NutchConfiguration.createCrawlConfiguration();
    conf.set("mapred.jar", "NutchSource.jar"); 
    JobConf job = new NutchJob(conf);

2. WARN  plugin.PluginRepository - Plugins: directory not found: plugins

2014-10-17 13:43:29,729 INFO  crawl.Crawl - crawl started in: crawl
2014-10-17 13:43:29,741 INFO  crawl.Crawl - rootUrlDir = urls/microsoft_de-DE.txt
2014-10-17 13:43:29,743 INFO  crawl.Crawl - threads = 10
2014-10-17 13:43:29,744 INFO  crawl.Crawl - depth = 3
2014-10-17 13:43:29,745 INFO  crawl.Crawl - indexer=lucene
2014-10-17 13:43:29,747 INFO  crawl.Crawl - topN = 50
2014-10-17 13:43:32,080 INFO  crawl.Injector - Injector: starting at 2014-10-17 13:43:32
2014-10-17 13:43:32,083 INFO  crawl.Injector - Injector: crawlDb: crawl/crawldb
2014-10-17 13:43:32,085 INFO  crawl.Injector - Injector: urlDir: urls/microsoft_de-DE.txt
2014-10-17 13:43:32,220 INFO  crawl.Injector - Injector: Converting injected urls to crawl db entries.
2014-10-17 13:43:45,367 WARN  mapred.JobClient - Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
2014-10-17 13:43:57,923 WARN  plugin.PluginRepository - Plugins: directory not found: plugins
2014-10-17 13:43:57,924 INFO  plugin.PluginRepository - Plugin Auto-activation mode: [true]
2014-10-17 13:43:57,924 INFO  plugin.PluginRepository - Registered Plugins:
2014-10-17 13:43:57,929 INFO  plugin.PluginRepository - NONE
2014-10-17 13:43:57,930 INFO  plugin.PluginRepository - Registered Extension-Points:
2014-10-17 13:43:57,930 INFO  plugin.PluginRepository - NONE
2014-10-17 13:43:58,010 WARN  mapred.LocalJobRunner - job_local_0001
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:354)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:177)
Caused by: java.lang.reflect.InvocationTargetException

出错原因:找不到plugins此目录。

解决办法:查看conf目录下的nutch-default.xml中的plugin.folders的Value值在项目路径下是否存在。

<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>

把此值改为项目下src/plugin.

Netbeans导入Nutch1.2的更多相关文章

  1. NetBeans导入项目jar路径错误解决办法

    NetBeans导入项目jar路径错误解决办法 1.NetBeans中导入项目jar路径出错,单击项目右键,选择"属性",找到"库" 2.找到错误jar,全部勾 ...

  2. 什么是JavaFX

    什么是JavaFX JavaFx平台是一个富客户端平台解决方案,它能够使用应用程序开发人员轻松的创建跨平台的富客户端应用程序.它构建在Java技术的基础之上,JavaFX平台提供了一组丰富的图形和媒体 ...

  3. 可视化工具gephi源码探秘(二)---导入netbeans

    在上篇<可视化工具gephi源码探秘(一)>中主要介绍了如何将gephi的源码导入myeclipse中遇到的一些问题,此篇接着上篇而来,主要讲解当下通过myeclipse导入gephi源码 ...

  4. [置顶] Linux下将Nutch1.3导入eclipse

    1.准备工作 首先去官网下载好 apache-nutch-1.3-bin.zip 解压apache-nutch-1.3-bin.zip [pig@CentOs ]$ unzip   apache-nu ...

  5. 如何从eclipse中下载并导入Github上的项目

    eclipse导入项目,方法就是点击File ->Import,选择Existing Projects into Workspace 但前提是,你导入的这个项目原本就是用eclipse的构建的, ...

  6. nutch1.4 在windows下面提示 java.io.IOException: CreateProcess error=2, ϵͳÕҲ»µ½ָ¶

    eclipse运行nutch1.4在window下面提示异常解决 需要安装cynwin,被设置环境变量 1:安装cygwin 注:在选择要安装的软件包的时候我选择了在All这一行上后面的Default ...

  7. nutch-2.1导入eclipse+mysql运行

    初次接触nutch,记录下来 首先数据库 CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_c ...

  8. NetBeans使用习惯:升级与保存配置

    如何升级:点击 netbeans 的升级更新 ,即可升级版本:不推荐官网下载进行安装,否则会出现,以前的旧版本8.0的目录和8.0.1目录,虽然它会自动检测到以前版本的配置,提示导入... 如何备份: ...

  9. Eclipse 快捷键 转换为Netbeans 快捷键

    一直使用netbeans IDE开发,习惯了netbeans的快捷键,最近要开发个app就选择了H5. 接着使用了HBuilder (基于Eclipse开发) 总体来讲这个IDE还可以,不管是代码提示 ...

随机推荐

  1. Eclipse/IDEA使用小技巧

    使用IDEA,先将keymap改为eclipse形式 1.搜索技巧: f4:列举所有类树状结构 Ctrl+F:搜索特定词 Ctrl+T:列举所有子类 Ctrl+O:快速检索想要的方法 Ctrl+Shi ...

  2. psp记录个人项目花费时间

    预估时间 120min 设计分析时间 30min 具体设计时间 ≍40min 编码时间 ≍1h 测试时间 10min 整理结论时间 10min 总结与探讨时间 5min

  3. EXTJS4.2中neptune主题的使用

    原文地址:http://blog.csdn.net/xieguojun2013/article/details/8880519 最近在在sencha.com官网了解到EXTJS的最新版本里增加了新的主 ...

  4. error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用

    MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用 Debug ...

  5. Ext.Net 学习随笔 003 Panel基本使用

    Panel() 1.使用Content和Html属性设置Panel内容 前台View代码 @(X.Panel() .ID("panel1") .Width() .Height() ...

  6. 关于javascript中闭包的理解

    闭包就是能够读取其他函数内部变量的函数. 在javascript中,只有函数内部的子函数可以读取局部变量,因此,我理解闭包就是定义在一个函数内部的函数. 例子: var f1 = function() ...

  7. wordpress钩子和钩子函数

    ccc,看了很多博客,无法理解,还是自己来写吧. wordpress 在wordpress中有很多钩子,还有很多钩子函数,在什么地方用什么钩子,用什么钩子函数, 需要明白两个问题: 1:什么是钩子,钩 ...

  8. SQL NULL 值【摘自W3C】

    SQL NULL 值 本章讲解 IS NULL 和 IS NOT NULL 操作符. NULL 值是遗漏的未知数据.默认地,表的列可以存放 NULL 值. 如果表中的某个列是可选的,那么我们可以在不向 ...

  9. Zookeeper启动过程

    在上一篇,我们了解了zookeeper最基本的配置,也从中了解一些配置的作用,那么这篇文章中,我们将介绍Zookeeper的启动过程,我们在了解启动过程的时候还要回过头看看上一篇中各个配置参数在启动时 ...

  10. C 最熟悉的陌生人 (纪念当年就读的梅州市江南高级中学)

    最熟悉的陌生人 作者:张慧桥 “枪与玫瑰” 我送走了“蝶恋花”,犹有一种身在梦中的感觉,昨晚的宿醉让我只觉得头晕乎乎的很不舒服,想想自己连澡都还没洗呢,便去洗了个冷水澡. 煮了杯浓浓的咖啡喝了下去,我 ...