Nutch2.2.1 开发环境搭建
2015-08-02 19:56
232 查看
1. 环境准备
需要的环境有jdk1.7,Eclipse,SVN,ant,以及Eclipse下的两个插件subclipse和IvyDe,下载地http://subclipse.tigris.org/update_1.8.x和http://www.apache.org/dist/ant/ivyde/updatesite。
2.从SVN检出项目
地址https://svn.apache.org/repos/asf/nutch/tags/release-2.2.1
3.修改ivy目录下的ivysetting.xml
地址http://mirrors.ibiblio.org/maven2/
4.修改ivy.xml
修改ivy目录下的ivy.xml(增加mysql访问依赖java包),修改gora-core版本为0.2.1,并解除注释gora-sql和mysql-connector-java
5. 执行ANT
Cd 到目录执行Ant eclipse(直接在Eclipse下ant build貌似有问题)
6. 回到Eclipse中,设置工程编码为UTF-8
7.修改gora.properties
修改Conf文件夹下gora.properties配置mysql
#Default MySQL properties #
###############################
gora.datastore.default=org.apache.gora.sql.store.SqlStore
gora.datastore.autocreateschema=true
gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull
gora.sqlstore.jdbc.user=root
gora.sqlstore.jdbc.password=123456
8.新建URL文件夹
工程目录下新建文件夹urls,urls目录下新建一个文件url,里面输入要爬取的root_url,比如http://www.qq.com
9.修改Nutch-set.xml
<property>
<name>http.agent.name</name>
<value>YourNutchSpider</value>
</property>
<property>
<name>http.accept.language</name>
<value>ja-jp, en-us,en-gb,en,zh-cn,zh-tw;q=0.7,*;q=0.3</value>
<description>Value of the “Accept-Language” request header field.
This allows selecting non-English language as default one to retrieve.
It is a useful setting for search engines build for certain national group.</description>
</property>
<property>
<name>parser.character.encoding.default</name>
<value>utf-8</value>
<description>The character encoding to fall back to when no other information
is available</description>
</property>
<property>
<name>plugin.folders</name>
<value>src/plugin</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>
</pre><pre name="code" class="html"><!-- 为解决utf-8类中的空指针问题 -->
<property>
<span> </span><name>generate.batch.id</name>
<span> </span><value>*</value>
</property>
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.sql.store.SqlStore</value>
<description>The Gora DataStore class for storing and retrieving data.
Currently the following stores are available: ….</description>
</property>
10 .配置nutch的运行参数
配置完上述步骤后配置命令运行Run Configuration选择org.apache.nutch.crawl.Crawler,参数设置urls -depth 3 -topN 5和-Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log
11. 解决windows下的问题
上述错误一般只是windows下才会遇到的,所以我们一般的做法是找到Hadoop-core-1.2.0源码中的org.apache.hadoop.fs下的FileUtil.java修改其中的CheckReturnValue方法,注释掉其中的内容
private static void checkReturnValue(boolean rv, File p,
FsPermission permission
) throws IOException {
// if (!rv) {
// throw new IOException("Failed to set permissions of path: " + p +
// " to " +
// String.format("%04o", permission.toShort()));
// }
}
然后编译成java包替换我们工程build / lib下的hadoop-core-1.2.0.jar。
另外一种方法是找到FileUtil.java编译过后的class文件,替换掉jar包中相应的class文件FileUtil.clas和FileUtil$CygPathCommand.clas(用压缩软件打开就行)
附上已修改编译的Hadoop-core-1.2.0.jar文件,包含单独的FileUtil.class文件,链接 http://download.csdn.net/detail/cvj1991/7727299 (1个积分,有钱的捧个钱场)和直接下载链接 http://files.cnblogs.com/e-life/hadoop-core-1.2.0.rar
1. 环境准备
需要的环境有jdk1.7,Eclipse,SVN,ant,以及Eclipse下的两个插件subclipse和IvyDe,下载地http://subclipse.tigris.org/update_1.8.x和http://www.apache.org/dist/ant/ivyde/updatesite。
2.从SVN检出项目
地址https://svn.apache.org/repos/asf/nutch/tags/release-2.2.1
3.修改ivy目录下的ivysetting.xml
地址http://mirrors.ibiblio.org/maven2/
4.修改ivy.xml
修改ivy目录下的ivy.xml(增加mysql访问依赖java包),修改gora-core版本为0.2.1,并解除注释gora-sql和mysql-connector-java
5. 执行ANT
Cd 到目录执行Ant eclipse(直接在Eclipse下ant build貌似有问题)
6. 回到Eclipse中,设置工程编码为UTF-8
7.修改gora.properties
修改Conf文件夹下gora.properties配置mysql
#Default MySQL properties #
###############################
gora.datastore.default=org.apache.gora.sql.store.SqlStore
gora.datastore.autocreateschema=true
gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull
gora.sqlstore.jdbc.user=root
gora.sqlstore.jdbc.password=123456
8.新建URL文件夹
工程目录下新建文件夹urls,urls目录下新建一个文件url,里面输入要爬取的root_url,比如http://www.qq.com
9.修改Nutch-set.xml
<property>
<name>http.agent.name</name>
<value>YourNutchSpider</value>
</property>
<property>
<name>http.accept.language</name>
<value>ja-jp, en-us,en-gb,en,zh-cn,zh-tw;q=0.7,*;q=0.3</value>
<description>Value of the “Accept-Language” request header field.
This allows selecting non-English language as default one to retrieve.
It is a useful setting for search engines build for certain national group.</description>
</property>
<property>
<name>parser.character.encoding.default</name>
<value>utf-8</value>
<description>The character encoding to fall back to when no other information
is available</description>
</property>
<property>
<name>plugin.folders</name>
<value>src/plugin</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>
</pre><pre name="code" class="html"><!-- 为解决utf-8类中的空指针问题 -->
<property>
<span> </span><name>generate.batch.id</name>
<span> </span><value>*</value>
</property>
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.sql.store.SqlStore</value>
<description>The Gora DataStore class for storing and retrieving data.
Currently the following stores are available: ….</description>
</property>
10 .配置nutch的运行参数
配置完上述步骤后配置命令运行Run Configuration选择org.apache.nutch.crawl.Crawler,参数设置urls -depth 3 -topN 5和-Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log
11. 解决windows下的问题
上述错误一般只是windows下才会遇到的,所以我们一般的做法是找到Hadoop-core-1.2.0源码中的org.apache.hadoop.fs下的FileUtil.java修改其中的CheckReturnValue方法,注释掉其中的内容
private static void checkReturnValue(boolean rv, File p,
FsPermission permission
) throws IOException {
// if (!rv) {
// throw new IOException("Failed to set permissions of path: " + p +
// " to " +
// String.format("%04o", permission.toShort()));
// }
}
然后编译成java包替换我们工程build / lib下的hadoop-core-1.2.0.jar。
另外一种方法是找到FileUtil.java编译过后的class文件,替换掉jar包中相应的class文件FileUtil.clas和FileUtil$CygPathCommand.clas(用压缩软件打开就行)
附上已修改编译的Hadoop-core-1.2.0.jar文件,包含单独的FileUtil.class文件,链接 http://download.csdn.net/detail/cvj1991/7727299 (1个积分,有钱的捧个钱场)和直接下载链接 http://files.cnblogs.com/e-life/hadoop-core-1.2.0.rar
相关文章推荐
- javascript设计模式之Mediator(中介者)模式
- WRL 类库项目模板
- BFS POJ 3126 Prime Path
- SSH学习九 依赖注入及加载Spring配置文件的方法
- 20150802-泛型
- 【转】CAD2012打开自动关闭解决方法
- How to write a good tech blog
- C语言-递归算法以及经典递归(Hanoi)
- 字符串拷贝操作
- Save the Trees
- poj 3662 二分+最短路
- 输入一行字符串,找出其中的相同且长度最长的字符串
- java中怎样在界面中显示图片?
- 使用js编写一个计算器
- NGUI-实例化问题
- Javascript-基础知识(4)
- Quotient Polynomial
- HDU1224 Free DIY Tour(spfa+记录路径)
- UVA 题目难度 分级
- Objective-C学习笔记_属性