Java Hdfs+solr安装错误无法创建core collection1

Java Hdfs+solr安装错误无法创建core collection1,java,hadoop,solr,Java,Hadoop,Solr,我试图用Solr在HDFS上实现搜索引擎我已经成功安装了Hadoop,但是在配置Solr的过程中我遇到了一些错误。。。我是Solr的新手,请帮忙 solrconfig.xml <directoryFactory name="DirectoryFactory" class="solr.HdfsDirectoryFactory"> <str name="solr.hdfs.home">hdfs://127.0.0.1:10001/home/hadoop/hado

我试图用Solr在HDFS上实现搜索引擎我已经成功安装了Hadoop,但是在配置Solr的过程中我遇到了一些错误。。。我是Solr的新手,请帮忙

solrconfig.xml

 <directoryFactory name="DirectoryFactory" class="solr.HdfsDirectoryFactory">
      <str name="solr.hdfs.home">hdfs://127.0.0.1:10001/home/hadoop/hadoop-datastore/tmp/dfs/solr</str>
      <str name="solr.hdfs.confdir">/home/hadoop/hadoop-1.2.1/conf</str>
    <bool name="solr.hdfs.blockcache.enabled">true</bool>
      <int name="solr.hdfs.blockcache.slab.count">1</int>
      <bool name="solr.hdfs.blockcache.direct.memory.allocation">true</bool>
      <int name="solr.hdfs.blockcache.blocksperbank">16384</int>
      <bool name="solr.hdfs.blockcache.read.enabled">true</bool>
      <bool name="solr.hdfs.blockcache.write.enabled">true</bool>
      <bool name="solr.hdfs.nrtcachingdirectory.enable">true</bool>
      <int name="solr.hdfs.nrtcachingdirectory.maxmergesizemb">16</int>
      <int name="solr.hdfs.nrtcachingdirectory.maxcachedmb">192</int>
    </directoryFactory>
启动时出现错误消息

  ERROR org.apache.solr.core.CoreContainer  – Unable to create core: collection1
org.apache.solr.common.SolrException: Problem creating directory: hdfs://127.0.0.1:10001/home/hadoop/hadoop-datastore/tmp/dfs/solr/collection1/data
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:834)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:625)
at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:557)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:592)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:271)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:263)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: Problem creating directory:     hdfs://127.0.0.1:10001/home/hadoop/hadoop-datastore/tmp/dfs/solr/collection1/data
at org.apache.solr.store.hdfs.HdfsDirectory.<init>(HdfsDirectory.java:68)
at org.apache.solr.core.HdfsDirectoryFactory.create(HdfsDirectoryFactory.java:154)
我正在使用Hadoop 1.2.1


请在这方面帮助我启动此搜索功能

给将来可能面临类似问题的人

它可能是由多种因素引起的。检查以下各项:

确保使用了正确的HDFS名称节点主机名/端口。在OP的配置中,它是hdfs://127.0.0.1:10001,但NN RPC的默认端口为8020

确保将配置添加到solrconfig.xml中。它应该同时具有和hdfs

当将Solr与HDFS一起使用时,数据目录在块中描述,所以应该注释掉缺省值

用户solr应该是HDFS上solr数据根目录的所有者。如果集合是在root或hdfs user下使用CLI创建的,则可能会出现问题


这表明protobuffer与使用VS SOLR的protobuffer HDFS版本不兼容的问题。虽然我仍在努力寻找解决方法,但我还是遇到了丢失罐子的问题。我将所有jar保存在一个目录中,它运行良好。
  ERROR org.apache.solr.core.CoreContainer  – Unable to create core: collection1
org.apache.solr.common.SolrException: Problem creating directory: hdfs://127.0.0.1:10001/home/hadoop/hadoop-datastore/tmp/dfs/solr/collection1/data
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:834)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:625)
at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:557)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:592)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:271)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:263)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: Problem creating directory:     hdfs://127.0.0.1:10001/home/hadoop/hadoop-datastore/tmp/dfs/solr/collection1/data
at org.apache.solr.store.hdfs.HdfsDirectory.<init>(HdfsDirectory.java:68)
at org.apache.solr.core.HdfsDirectoryFactory.create(HdfsDirectoryFactory.java:154)