hdfs+solr安装错误无法创建核心集合1

55ooxyrt  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(298)

我试图实现搜索引擎在hdfs与solr我已经成功地安装了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>

请让我知道我在这个文件上犯了什么错误
我正试图开始解决,请让我知道这是正确的或不

java -Dsolr.directoryFactory=HdfsDirectoryFactory -Dsolr.lock.type=hdfs -Dsolr.hdfs.home=hdfs://127.0.0.1:10001/home/hadoop/hadoop-datastore/tmp/dfs/solr -Dsolr.hdfs.confdir=/home/hadoop/hadoop-1.2.1/conf -jar start.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)

我正在使用Hadoop1.2.1
请帮助我启动这个搜索功能

olqngx59

olqngx591#

给将来可能面临类似问题的人。
它可能是由几种因素引起的。检查这些:
确保使用了正确的hdfs namenode主机名/端口。在op的配置中 hdfs://127.0.0.1:10001 ,但nn rpc的默认端口是8020。
确保将配置添加到solrconfig.xml中。两者都应该有 <directoryFactory> 以及 <lockType>hdfs</lockType> .
将solr与hdfs一起使用时,数据目录如中所述 <directoryFactory> 阻止,所以默认 <dataDir> 应该被注解掉。
用户 solr 应该是hdfs上solr data根目录的所有者。如果集合是在root或hdfs user下使用cli创建的,那么这可能会搞砸。

相关问题