我正在尝试让nutch 1.11执行爬网。我正在使用cygwin在windows 7中运行这些命令。
Nutch正在运行,运行bin/Nutch会得到结果,但当我尝试运行爬网时,会不断收到错误消息。
当我尝试使用 nutch 运行爬网执行时,我收到以下错误:
运行时出错:/cygdrive/c/Users/User5/Documents/Nutch/apache-Nutch-1.11/runtime/local/bin/Nutch inject TestCrawl/crawdb c:/Users/User5/Documents/Nutch/apache-Nutch-1-11/runtime/local/urls/seed.txt
失败,退出值为127。
我设置了JAVA_HOME类路径,并修改了主机文件,将127.0.0.1作为localhost。
我很好奇我是否正确调用了write目录,如果这可能是问题的话。
完整的打印输出如下所示:
User5@User5-PC /cygdrive/c/Users/User5/Documents/Nutch/apache-nutch-1.11/runtime/local
$ bin/crawl -i -D solr.server.url=http://localhost:8983/solr/ C:/Users/User5/Documents/Nutch/apache-nutch-1.11/runtime/local/urls/ TestCrawl/ 2
Injecting seed URLs
/cygdrive/c/Users/User5/Documents/Nutch/apache-nutch-1.11/runtime/local/bin/nutch inject TestCrawl//crawldb C:/Users/User5/Documents/Nutch/apache-nutch-1.11/runtime/local/urls/
Injector: starting at 2015-12-23 17:48:21
Injector: crawlDb: TestCrawl/crawldb
Injector: urlDir: C:/Users/User5/Documents/Nutch/apache-nutch-1.11/runtime/local/urls
Injector: Converting injected urls to crawl db entries.
Injector: java.lang.NullPointerException
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1012)
at org.apache.hadoop.util.Shell.runCommand(Shell.java:445)
at org.apache.hadoop.util.Shell.run(Shell.java:418)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:739)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:722)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:633)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:421)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:281)
at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:348)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1282)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1282)
at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:562)
at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:557)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:557)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:548)
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:833)
at org.apache.nutch.crawl.Injector.inject(Injector.java:323)
at org.apache.nutch.crawl.Injector.run(Injector.java:379)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.nutch.crawl.Injector.main(Injector.java:369)
Error running:
/cygdrive/c/Users/User5/Documents/Nutch/apache-nutch-1.11/runtime/local/bin/nutch inject TestCrawl//crawldb C:/Users/User5/Documents/Nutch/apache-nutch-1.11/runtime/local/urls/
Failed with exit value 127.
我认为可能与我得到的错误有关的hadoop日志是:
2016-01-07 12:24:40,360 ERROR util.Shell - Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:318)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:333)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:326)
at org.apache.hadoop.util.GenericOptionsParser.preProcessForWindows(GenericOptionsParser.java:432)
at org.apache.hadoop.util.GenericOptionsParser.parseGeneralOptions(GenericOptionsParser.java:478)
at org.apache.hadoop.util.GenericOptionsParser.<init>(GenericOptionsParser.java:170)
at org.apache.hadoop.util.GenericOptionsParser.<init>(GenericOptionsParser.java:153)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:64)
at org.apache.nutch.crawl.Injector.main(Injector.java:369)
2016-01-07 12:24:40,450 ERROR crawl.Injector - Injector: java.lang.IllegalArgumentException: java.net.URISyntaxException: Illegal character in scheme name at index 15: solr.server.url=http://localhost:8983/solr
at org.apache.hadoop.fs.Path.initialize(Path.java:206)
at org.apache.hadoop.fs.Path.<init>(Path.java:172)
at org.apache.nutch.crawl.Injector.run(Injector.java:379)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.nutch.crawl.Injector.main(Injector.java:369)
Caused by: java.net.URISyntaxException: Illegal character in scheme name at index 15: solr.server.url=http://localhost:8983/solr
at java.net.URI$Parser.fail(URI.java:2848)
at java.net.URI$Parser.checkChars(URI.java:3021)
at java.net.URI$Parser.parse(URI.java:3048)
at java.net.URI.<init>(URI.java:746)
at org.apache.hadoop.fs.Path.initialize(Path.java:203)
... 4 more
使用nutch时,需要< code>hadoop-core jar文件
>
请从此链接下载jar:http://www.java2s.com/Code/Jar/h/Downloadhadoop0200corejar.htm
将该jar粘贴到“C:\cygwin64\home\apache-nutch-1.11\lib”
文件夹中,它将成功运行。
你的问题在这条信息中已经有了答案:
2016-01-07 12:24:40,360错误util。Shell -无法在hadoop二进制文件路径Java . io . io中找到winutils二进制文件异常:无法在Hadoop二进制文件中找到可执行文件null\bin\winutils.exe。
发生这种情况是因为坚果1.11中包含的hadoop版本被设计为开箱即用的linux,而不是在Windows上工作。
我也遇到过同样的情况,最后在ubuntu虚拟框中使用了nutch1.11。
您正在从< code>Cygwin运行linux命令,而linux系统中没有< code>C:\路径。正确的命令应该是这样的
/cygdrive/c/Users/User5/Documents/Nutch/apache-nutch1.11/runtime/local/bin/nutch inject TestCrawl/crawldb /cygdrive/c/Users/User5/Documents/Nutch/apache-nutch1.11/runtime/local/urls/seed.txt
我已经遵循了教程,并使用Cygwin将nutch配置为在Windows 7上运行,我正在使用Solr 5.4.0对数据进行索引 但是坚果1.11在执行爬行时遇到了问题。 爬网命令 $ bin/crawl -i -D solr.server.url= 错误/异常 注入种子网址 /apache-nutch-1.11/bin/坚果注射 /测试爬网/抓取 /urls 注射器:从 2016-01-19 开始
我想使用Apache Nutch1.12爬网一个站点,并将数据索引到Apache Solr中。我已经遵循了这个教程。 我的seed.txt文件的url是http://nutch.apache.org/ 在我的regex url筛选器中,我有如下所示+^http://([a-z0-9]*.)*nutch.apache.org/ 当我试图获取数据时,我只得到seed.txt文件中的url。 我在这里错
我试图在包含GUI系统的JDK 11.0.2上运行我在Intellij中创建的一个可执行jar文件。我已经安装了Java8和java SDK11.0.2。每当我双击jar文件时,我希望主gui登录屏幕出现,但什么也没有发生。我已经尝试了其他选项,例如尝试通过cmd运行它(它给了我一个访问错误),HKEY_CLASSES_ROOT\jarfile已经有命令:“C:\Program Files\jav
试图在Centos 6.6上用纳奇1.9爬行。 在遵循本指南后尝试初始化我的第一次爬网时: http://wiki.apache.org/nutch/NutchTutorial 但是,我在启动时遇到以下异常: Injector:将注入的URL转换为爬网数据库条目。喷油器:java.net。未知主机异常:Sparky。立克:火花四射。LITK:java.security.AccessControll
我看到了一些像http://homes.mitula.ph/homes/makati这样的搜索网站,我想知道他们是如何抓取其他网站(如、和)中的数据并将其显示到他们的站点上的。 我正在考虑使用Solr索引数据,使用Nutch抓取数据。我是一个新的网页抓取和索引,目前为止,我只能抓取一个网页的内容。 Solr Nutch能做那种爬行吗?怎么做的?
问题内容: 首先,如果标题误导我,我深表歉意。英语不是我的母语,所以我不确定该如何命名。现在的问题是: 我有一个活动,可显示存储在Firebase项目中有关用户的数据。数据在Firebase用户(显示名称,电子邮件和个人资料图像)和Cloud Firestore中名为该用户的文档之间分配。 当此活动开始时,我进行了Firebase谷歌身份验证以获取用户,然后出现了问题。我需要知道用户是否在数据库中