2017-10-11 168 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