2017-10-11 72 views
0

我已经在3节点上安装了solr。我想创建3个碎片和2个副本的集合。但我得到以下错误。无法在solrcloud模式下创建集合

我与下面的命令

solr的盯着

仓/ solr的启动-c -z XK1:2181,ZK2:2181,ZK3:2181 -Dsolr.directoryFactory = HdfsDirectoryFactory -Dsolr.lock.type = HDFS - Dsolr.hdfs.home = hdfs:/// user/solr

我的solr已启动。

我用下面的命令创建集合

斌/ Solr的创建-c Collection1 -d data_driven_schema_configs -n wafmaster1944 -rf 2 -s 3

但我得到以下错误

Collection:Collection1 operation:create failed:org.apache.solr.common.SolrException at org.apache.solr.cloud.OverseerCollectionMessageHandler.createCollection(OverseerCollectionMessageHandler.java:2070) at org.apac org.apache.solr.cloud.OverseerTaskProcessor $ Runner.run(OverseerTaskProcessor.java:433) at org.apache.solr.common.util。 ExecutorUtil $ MDCAwareThreadPoolExecutor $ 1.run(ExecutorUtil.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617 ) at java.lang.Thread.run(Thread.java:745) 引起:java.lang.IllegalArgumentException:nodeName不包含预期的'_'分隔符::8983 at org.apache.solr.common.cloud .ZkStateReader.getBaseUrlForNodeName(ZkStateReader.java:780) at org.apache.solr.cloud.OverseerCollect ionMessageHandler.createCollection(OverseerCollectionMessageHandler.java:2007)

请帮我解决这个问题。

维卡斯

回答

0

java.lang.Thread.run(Thread.java:745)产生的原因:java.lang.IllegalArgumentException异常:节点名称不包含预期的 '_' 分隔符:8983在

的Solr节点名通常具有10.0.0.0:8983_solr的格式,你可以在zookeeper/livenodes下看到这个,看起来bin/create不是识别/发送正确的节点名,而不是bin/solr,你可以尝试使用solr rest api您可以选择指定节点名称

https://lucene.apache.org/solr/guide/6_6/collections-api.html#CollectionsAPI-create

您使用的是什么版本的solr?

+0

嗨Avinash,我正在使用solr 5.5版本..我想再多一件事..当我创建3个碎片和一个副本的集合。我能够成功创建它。 – user3008692

+0

嗨Avinash,谢谢我现在正在上面的问题。现在我收到错误无法创建核心[wafmaster1805_shard1_replica2]引起:Java堆空间。我曾尝试在solr.in.sh文件中添加SOLR_HEAP =“1024m”,并尝试使用传递参数-m 1g启动solr。 – user3008692

+0

另外,我在我的solrconfig.xml文件中设置了 false user3008692