我正在尝试将 Apache Nutch 2.1 与 Windows 8 平台上的 Mysql 服务器集成。我正在关注教程http://nlp.solutions.asia/?p=180。我对 apache-nutch-2.1 进行了以下更改。
- 我下载了 apache-nutch-2.1-src.zip 并解压。
ivy/ivy.xml 中未注释的以下内容
<dependency org="mysql" name="mysql-connector-java" rev="5.1.18" conf="*->default"/>
为 mysql conf/gora.properties 注释了 sql 属性并添加了 gora 属性。
gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch? createDatabaseIfNotExist=true gora.sqlstore.jdbc.user=root gora.sqlstore.jdbc.password=root
- 向 conf/nutch-site.xml 添加了属性
- 从命令提示符执行 ant 运行时命令。它创建了 /runtime 目录。
- 在 /runtime/local/urls 目录中添加了带有 www.apache.nutch.org 值的 seed.txt 文件。
- 将 +^http://([a-z0-9]*.)*nutch.org/ 添加到 /runtime/local/conf 目录中的 domain-urlfilter.txt 和 regex-urlfilter.txt 文件中。
当我运行通过 cygwin 终端开始爬行的命令时..发生以下异常,
Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Abhijeet\mapred\staging\Abhijeet530509219\.staging to 0700
at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689)
at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:662)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189)
at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:116)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:856)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:500)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530)
at org.apache.nutch.util.NutchJob.waitForCompletion(NutchJob.java:50)
at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:219)
at org.apache.nutch.crawl.Crawler.runTool(Crawler.java:68)
at org.apache.nutch.crawl.Crawler.run(Crawler.java:136)
at org.apache.nutch.crawl.Crawler.run(Crawler.java:250)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.nutch.crawl.Crawler.main(Crawler.java:257)
我在互联网上搜索了 Hadoop 不适用于 Windows,这没关系,因为我没有使用 Hadoop 存储数据。我正在使用Mysql。
有人可以建议我在做什么错吗?