win7下cygwin + Eclipse + Nutch1.2 + Tomcat6 安装配置

之前在Ubuntu下安装了次,花了蛮久,但是觉得看代码什么的不方便,而且大部分工作还是在Win7,加之今天做PPT要讲Nutch的效果,所以花了一两个小时在Win7下安装了,虽然有了第一次经验,还是出现了一些问题。

 

JDK6.0 + Eclipse + Tomcat这个基础组合的安装就不说了,基本不需要什么配置,网上也有很多的介绍。

 

a)Cygwin的配置

由于nutch是默认运行在linux下的,所以我们需要安装cygwin,在此下载

一般选择在线安装,这里要注意,选择美国的服务器,即.org或类似的一级域名结束的服务器,速度比较快。安装完成后,要配置环境变量,在Path中添加your_cygwin_dir/cygwin/bin,这样就可以使用一些linux下的命令,我们可以测试下,配置成功后,在cmd下敲入chmod会弹出一些帮助信息。

如果这一步错误,运行的时候会报错:"Exception in thread "main" java.io.IOException: Cannot run program "chmod": CreateProcess error=2,???"。相信我,报这个错,一定是配置没配置好,如果你非常确定确定,并且在cmd中也可以测试成功,那么请重启Eclipse

 

b)Nutch导入到Eclipse并配置

在此处下载Nutch的编译后的代码和源代码:apache-nutch-1.2-bin.tar.gz和apache-nutch-1.2-src.zip。

接下来向Eclipse中导入nutch源代码,这里有两种方式:一种是新建项目,拷贝文件目录;一种是Create From exsiting Project。这里我选择用前者,有兴趣的同学可以尝试下后者,配置上差不多。

1)在Eclipse新建一个Java Project,命名为Nutch。

2)将apache-nutch-1.2-src.zip解压出来的/src/java目录下的代码全部复制到工程的src目录下。

3)将解压后的nutch-1.2目录下的libpluginsconf三个文件夹复制到新建工程的根目录下(与src同级)。

4)右键工程properties,切换到"Libraries"选择"Add Class Folder..." 按钮,从列表中选择"conf", conf加入到classpath中。

5)右键工程properties,切换到"Libraries"选择"Add External JARs " 按钮,将lib文件夹中的所有jar加入到工程中。这两步完成后看代码应该不会有编译错误了。

6)修改conf下的nutch-site.xml,在configuration标签对中添加如下代码:

 

当然,也可以对http.agent.email之类的属性赋值,但是不是必须的。这里如果没设置,运行的时候就会提示错误。

7)在conf下的nutch-default.xml中找到plugin.folders,将值设为./plugins,如果这里设置的不对,会报错:Job Failure,这也是一个常见的错误。

8)还是conf下,在crawl-urlfilter.txt中找到MY.DOMAIN.NAME,改为想抓取的网站的正则表达式,这里我们把这行改为/,试图抓取163网站的内容。

9)在工程的根目录下建立urls文件夹,其中新建一个url.txt文件,该文件中写入想抓取的网站URL,其实也就是一个爬虫的种子url,这里为了抓取163的网页,我们添加一个url为http://www.163.com/,注意这里最后的斜线一定要加上,不然最后的索引结果为0

10)配置java项目的运行参数:crawl urls -dir crawl -depth 5 -threads 4 -topN 10,这个参数的意思很好理解,我就不细说了,如果担心内存不够,可以设置VM的参数为:-Xms64m -Xmx512m。

最后点击Eclipse的Run按钮,如果没有什么问题,命令行下面就会显示很多打印的抓取提示,然后是索引之类的。

 

c)将Nutch部署在Tomcat中

其实做完上面的步骤,nutch的配置可以说就算完成了,因为我们已经可以用命令行来搜索了,但是为了更方便的展现,下面将nutch部署在Tomcat上,然后像访问Google那样访问其搜索页面。

这一步实际上非常简单,只要将nutch编译后的文件中的war包放在tomcat的webapps下就行了,为了访问方便,可以将文件夹的名字改成nutch。另外,为了和上面爬取的内容联系起来,还需要配置一下webapps下nutch/WEB-INF/classes/nutch-site.xml文件,添加如下代码:

 

其中爬取结果存放的路径应该是Nutch项目文件夹中的crawl文件夹,这样就能保证搜索的结果是从我们刚才爬取的结果中得到的。

这时候搜索,可以在tomcat的命令行中看到乱码,我们还要配置下tomcat的conf/server.xml文件,将其中的Connector元素改为如下形式:

 

修改完后,重启下tomcat,然后再访问http://localhost:8080/nutch就可以得到正确结果了。

 

放张最后的效果图:

nutch

 

当然这些都是开始,Eclipse中的那些源代码才是我们真正的追求。

 

 

 

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭