本文的主要目标是描述如何在IntelliJ IDEA 开发工具中导入Nutch源码(以Nutch2.x为例),配置实现Nutch的开发环境。
目录
- 环境参数
- 源码下载
- 配置编译
- 导入工程
- 创建启动
[一]、 环境参数
- Mac OSX 10.10.1
- Java 1.7+ (Nutch2.x需要1.7+)
- IDEA 14
- Ant 1.9.2
- Maven 3.1.1
- svn | git
[二]、 源码下载
2.1、svn
1 2 |
svn co https://svn.apache.org/repos/asf/nutch/branches/2.x cd 2.x |
2.2、git
git clone <remote_repo> -b <branch> 指定分支名称即可
1 |
git clone https://github.com/apache/nutch.git -b 2.x |
[三]、 配置编译
以hbase作为数据库为例:
3.1 修改 $NUTCH_HOME/conf/nutch-site.xml
在 configuration
节点中增加如下内容:
1 2 3 4 5 |
<property> <name>storage.data.store.class</name> <value>org.apache.gora.hbase.store.HBaseStore</value> <description>Default class for storing data</description> </property> |
3.2 修改 $NUTCH_HOME/ivy/ivy.xml
去掉如下注释,启用 gora-hbase:
1 2 |
<!-- Uncomment this to use HBase as Gora backend. --> <dependency org="org.apache.gora" name="gora-hbase" rev="0.3" conf="*->default" /> |
3.3 修改 $NUTCH_HOME/conf/gora.properties
,添加如下内容:
1 |
gora.datastore.default=org.apache.gora.hbase.store.HBaseStore |
3.4 配置其他必要参数
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<property> <name>http.agent.name</name> <value>micmiuSpider</value> </property> <property> <name>http.robots.agents</name> <value>micmiuSpider,*</value> </property> <property> <name>plugin.folders</name> <value>/Users/micmiu/no_sync/opensource_code/search-engine/nutch-src-github/build/plugins</value> </property> |
3.5 编译生成eclipse项目工程
1 2 |
#cd nutch根目录 ant eclipse |
编译过程中如果有问题可参考文章:Nutch2.x 编译和安装配置
[四]、 导入工程
IntelliJ IDEA 可以把Eclipse的工程直接导入到项目中,然后配置 $NUTCH_HOME/conf
为Sources 目录:
在IDEA中右击 conf 文件夹: Make Directory As -》Sources ROOT 即可。
[五]、创建启动
点击主菜单依次选择: Run -> Edit Configurations ,点击 + 号,选择创建 Application :
- Name : inject
- Main Class :org.apache.nutch.crawl.InjectorJob
- VM options :-Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log
- Program arguments : /Users/micmiu/tmp/nutch/urls (存储抓取地址文件seed.txt的目录)
配置保存好后,点击运行即可(运行前需要先运行hbase)。
主要的启动类如下:
Operation | Class in Nutch 1.x (i.e.trunk) | Class in Nutch 2.x |
inject | org.apache.nutch.crawl.Injector | org.apache.nutch.crawl.InjectorJob |
generate | org.apache.nutch.crawl.Generator | org.apache.nutch.crawl.GeneratorJob |
fetch | org.apache.nutch.fetcher.Fetcher | org.apache.nutch.fetcher.FetcherJob |
parse | org.apache.nutch.parse.ParseSegment | org.apache.nutch.parse.ParserJob |
updatedb | org.apache.nutch.crawl.CrawlDb | org.apache.nutch.crawl.DbUpdaterJob |
参考:
- http://wiki.apache.org/nutch/RunNutchInEclipse
- http://www.micmiu.com/opensource/nutch/nutch2x-tutorial/
—————– EOF @Michael Sun —————–
原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]
本文链接地址: http://www.micmiu.com/opensource/nutch/nutch-run-in-idea/
0 条评论。