java - 在 Windows 上将 Apache Nutch 与 MySQL 集成

标签 java mysql nutch

我正在尝试将 Apache Nutch 2.1 与 Windows 8 平台上的 Mysql 服务器集成。我正在关注教程http://nlp.solutions.asia/?p=180 。我对 apache-nutch-2.1 进行了以下更改。

  1. 我下载了 apache-nutch-2.1-src.zip 并解压。
  2. ivy/ivy.xml 中取消注释以下内容

     <dependency org="mysql" name="mysql-connector-java" rev="5.1.18" conf="*->default"/>
    
  3. 注释了 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 
    
  4. 向 conf/nutch-site.xml 添加了属性
  5. 从命令提示符执行 ant 运行时命令。它创建了/runtime 目录。
  6. 在/runtime/local/urls 目录中添加了 seeds.txt 文件,其中包含 www.apache.nutch.org 值。
  7. 将 +^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。

有人可以建议我做错了什么吗?

最佳答案

我在 Windows 和 Linux 上都使用过 Nutch2。要在 Windows 上运行它,您需要安装这个 Haddop 1.0.3 补丁:https://github.com/congainc/patch-hadoop_7682-1.0.x-win

关于java - 在 Windows 上将 Apache Nutch 与 MySQL 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17123095/

相关文章:

java - Spring MVC 填充 @RequestParam Map<String, String>

java - 在JOOQ中实现batchMerge()

php - 如何使用 PHP 检测 mySQL 版本?

mysql - 与 MySQL 5.7.30 相比,MariaDB 10.4.13 性能较慢

elasticsearch - 在 nutch 弹性索引器中添加自定义字段和类型

apache - Nutch - 作业失败 - 错误 mapred.FileOutputCommitter - Mkdirs 无法创建文件

java - 方法中是否需要 "volatile"?

java - 如何在eclipse.ini 中使用环境变量?

Php 和 mySQL 测试

hadoop - Nutch 2.0 和 Hadoop。如何防止缓存 conf/regex-urlfilter.txt