【问题标题】:Apache Nutch 1.9 in local Eclipse to run on Amazon EMR remotely本地 Eclipse 中的 Apache Nutch 1.9 可在 Amazon EMR 上远程运行
【发布时间】:2015-04-19 19:40:06
【问题描述】:

我使用的是 32 位 Windows 8,运行 Eclipse Juno。

我刚刚开始研究 Amazon EMR。到目前为止,我能够使用 SSH 从本地远程连接到 EMR,并在 Eclipse 内部。我可以通过在 Eclipse 中创建 AWS 项目并在 EMR 命令上使用自定义 JAR 执行来远程在 EMR 上运行我的自定义 JAR。

我现在正尝试从我的 Eclipse 中运行 Apache Nutch 1.9。我做了 Ant 构建来创建 Nutch Eclipse 项目,并且我正在成功地在 Eclipse 工作区中导出。现在,当我运行 Injector 时,出现以下错误:

Injector: starting at 2015-04-20 00:56:08
Injector: crawlDb: crawl/crawldb
Injector: urlDir: urls
Injector: Converting injected urls to crawl db entries.
Injector: java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Kajari_G\mapred\staging\Kajari_G881485826\.staging to 0700

我发现这是由于 Hadoop 的权限问题。经过大量在线搜索后,我意识到这是 Windows 中的常见问题。我以管理员身份通过 Cygwin 运行它,但仍然无法修复它。

所以,现在我仍想运行 Injector 代码,但我想在远程 EMR 集群上运行它,而不是在本地运行。

您能否指导我如何告诉我的 Apache Nutch Eclipse 项目在 Amazon EMR 上而不是在本地运行?我不想创建一个 JAR 并运行它。我想在 Eclipse 中像通常的 Run As --> 一样运行它。

这有可能吗?我确实在网上搜索过,但找不到任何可行的解决方案。

谢谢!

【问题讨论】:

    标签: java eclipse hadoop amazon-web-services nutch


    【解决方案1】:

    据我所知,您不能在 Eclipse 中以分布式模式运行 Nutch。为了在 hadoop 集群上运行 Nutch,您必须按照以下步骤操作:

    • 在 nutch-site.xml 和其他配置文件中应用你需要的配置(根据选择的插件)

    • 使用ant runtime构建Nutch

    • 按照 runtime/deploy 目录查找 nutch hadoop 作业。

    • 运行以下命令:

      hadoop jar nutch-${version}.job ${your_main_class} ${class_parameters}

    例如,假设您在 org.apache.nutch.crawl.crawler 中的主爬虫类在这种情况下运行命令是:

    hadoop jar nutch-${version}.job org.apache.nutch.crawl.crawler urls -dir crawl -depth 2 -topN 1000
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多