Nutch - Ошибка при получении: JAVA_HOME не установлен. при попытке ползти
Прежде всего, я новичок Nutch/Hadoop. Я установил Кассандру. Я установил Nutch на главном узле моего кластера EMR. Когда я пытаюсь выполнить сканирование, используя следующую команду:
sudo bin/crawl crawl urls -dir crawl -depth 3 -topN 5
я получил
Error: JAVA_HOME is not set.
Если я запускаю команду без 'sudo', я получаю:
Injector: starting at 2014-07-16 02:12:24
Injector: crawlDb: urls/crawldb
Injector: urlDir: crawl
Injector: Converting injected urls to crawl db entries.
Injector: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:/home/hadoop/apache-nutch-1.8/runtime/local/crawl
at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:197)
at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:208)
at org.apache.hadoop.mapred.JobClient.writeOldSplits(JobClient.java:1081)
at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:1073)
at org.apache.hadoop.mapred.JobClient.access$700(JobClient.java:179)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:983)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:936)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:910)
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1353)
at org.apache.nutch.crawl.Injector.inject(Injector.java:279)
at org.apache.nutch.crawl.Injector.run(Injector.java:316)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.nutch.crawl.Injector.main(Injector.java:306)
Я не могу понять это. Я видел другой форум здесь: Подобная тема
и последовал за ним безрезультатно. я добавил
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
а также
export PATH=$PATH:${JAVA_HOME}/bin
к моему ~/.bashrc, и я использую Linux..
Любая помощь будет оценена!!
1 ответ
Проблема в том, что я бежал
sudo bin/crawl crawl urls -dir crawl -depth 3 -topN 5
я использовал
bin/crawl ./urls/seed.txt TestCrawl http://localhost:8983/solr/ 5
И все хорошо, просто неправильно сформированная команда... т.е. "обход" не рекомендуется, как указано здесь: Apache Nutch Tutorial