ApacheNutch1.9将在AmazonEMR上远程运行

njthzxwz  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(533)

我在32位windows8上,运行eclipsejuno。
我刚刚开始在亚马逊电子病历工作。到目前为止,我能够使用ssh和eclipse内部从本地远程连接到emr。通过在eclipse中创建aws项目并在emr命令上使用自定义jar执行,我可以在emr上远程运行自定义jar。
我现在正试图从eclipse内部运行apachenutch1.9。我做了ant构建来创建nutch eclipse项目,我将在eclipse工作区内成功导出。现在,当我运行喷油器时,出现以下错误:

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集群上运行它,而不是在我的本地集群上。
你能指导我如何告诉我的apachenutcheclipse项目在amazonemr上运行而不是本地运行吗?我不想创建一个jar并运行它。我想在eclipse中以-->的方式运行它。
这有可能吗?我确实在网上搜索了这个,但找不到任何有效的解决方案。
谢谢!

u4vypkhs

u4vypkhs1#

据我所知,您不能在eclipse的分布式模式下运行nutch。为了在hadoop集群上运行nutch,您必须遵循以下步骤:
在nutch-site.xml和其他配置文件中应用所需的配置(根据所选插件)
建立坚果使用 ant runtime 按照runtime/deploy目录查找nutch hadoop作业。
运行以下命令:
hadoop jar nutch-${version}.job${your\u main\u class}${class\u parameters}
例如,假设您的主爬虫类位于org.apache.nutch.crawler.crawler中,在本例中,运行的命令是:

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

相关问题