我在 Ubuntu 14.04 x64(AMD)LTS 上尝试 Apache Nutch 1.7 和 Solr ,当我尝试运行Nutch时,它给了我这个错误信息:
错误:未设置JAVA_HOME。
但是当我在终端上输入 echo $ JAVA_HOME 命令时,它会给我这条路径: 的 / usr / lib中/ JVM / JAVA -7-的openjdk-AMD64
下面你可以看到我一步一步做了些什么。我该如何解决这个问题?
* ps :Ubuntu是使用Oracle VirtualBox在Mac上运行的虚拟机
使用以下方式设置JAVA_HOME:
sudo nano / etc / environment
然后在文件底部输入以下行: JAVA_HOME =" / usr / lib / jvm / java-7-openjdk-amd64"
kntrl + X保存更改的快捷方式。
然后这个命令: source / etc / environment
现在必须设置JAVA_HOME。我通过以下命令检查它,它给了我路径。 echo $ JAVA_HOME ,输出与上述相同。
然后我通过 sudo apt-get -y install solr-tomcat安装Solr
我通过在浏览器中输入此地址来控制安装: http://localhost:8080/solr
,它显示了solr的初始页
我从http://nutch.apache.org下载了Apache Nutch 1.7,文件命名为apache-nutch-1.7.-bin.tar.gz
然后提取它: tar -zxvf apache-nutch-1.7-bin.tar.gz
我简单地通过以下方式验证了Nutch的安装: cd apache-nutch-1.7 然后 的仓/ Nutch的 输出就像用法:nutch COMMAND ......
然后我编辑 conf / nutch-site.xml 文件,如下所示:Link(您需要查看此标题:" 3)设置你的Nutch-Site.Xml " ) 我做的与最后一次参考不同的是; MyBot和MyBot,*字段。而不是 MyBot 我写了 mySpider
然后我进入了与终端的nutch的conf目录。这是我之后所做的: mkdir -p urls , cd urls , 触摸seed.txt , nano seed.txt
我只在文件中写了这个网址,因为它在nutch的官方教程中提出了建议: http://nutch.apache.org
17我保存了更改的seed.txt文件。我编辑conf / regex-urlfilter.txt文件。我删除了这两行:
接受其他任何内容
+
然后我写了这个而不是他们:
+^http://([a-z0-9]*\.)*nutch.apache.org/
之后,
我在教程中建议使用此命令: bin / nutch抓取网址-dir抓取-depth 3 -topN 5
在此命令后,我看到此错误消息: 错误:未设置JAVA_HOME。
我也找到了这篇文章,但它也没有解决我的问题: Nutch - Getting Error: JAVA_HOME is not set. when trying to crawl
答案 0 :(得分:1)
首先尝试:readlink -f $(java)
这将告诉你JAVA_HOME的确切位置,你应该看到类似的东西:
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
然后在调用爬网脚本之前尝试使用此值设置JAVA_HOME,即
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre/
bin/nutch crawl urls -dir crawl -depth 3 -topN 5
请注意,该值应指向有效JDK位置内的JRE目录。
P.S。您缺少Solr URL参数(如果您想要对已爬网文档编制索引)