我确认问题出在MemStore。
在0.6.1中存在一个错误:https :
//github.com/apache/gora/blob/apache-gora-0.6.1/gora-
core/src/main/java/org/apache/gora/memory/store
/MemStore.java#L128
这已经在master中解决:https :
//github.com/apache/gora/blob/master/gora-
core/src/main/java/org/apache/gora/memory/store/MemStore.java#L155,对#firstKey()的访问具有保护#isEmpty()
但是,不要尝试更新到Gora 0.7-SNAPSHOT,因为Nutch到目前为止尚未适应它。
编辑
如果您想在Nutch 2.x中使用Gora-0.7-SNAPSHOT,也许您可以这样做:
- 下载版本为0.7-SNAPSHOT的Gora主分支
- 不要
mvn install
在山/安装它在Maven的本地仓库 - 将此补丁应用到Nutch:https : //paste.apache.org/jjqz,以便Nutch 2.3.1将与Gora 0.7-SNAPSHOT一起使用
- 做Nutch的教学资料
我希望它能起作用:)
编辑2
关于使用Hbase,进行本地安装非常容易。
- 如Nutch2Tutorial中所述,下载Hbase 0.98.8-hadoop2
- 在目录中添加tar.gz文件,例如:
/home/you/hbase
cd /home/you/hbase/bin
./start-hbase.sh
现在,您可以启动并运行Hbase。配置Nutch:
ivy / ivy.xml:查看@Emmanuel关于Hbase的ivy依赖项配置的评论。
gora.properties:
gora.datastore.default=org.apache.gora.hbase.store.HbaseStoregora.datastore.autocreateschema=truegora.datastore.scanner.caching=100
nutch-site.xml:
<configuration><property> <name>storage.data.store.class</name> <value>org.apache.gora.hbase.store.HbaseStore</value> <description>Default class for storing data</description></property></configuration>
做完了 它将采用Hbase的所有默认配置:localhost,/ tmp / …,blablabla



