我在3节点上安装了solr . 我想用3个碎片和2个副本创建集合 . 但我得到了以下错误 .
我用以下命令盯着solr
bin/solr start -c -z xk1:2181,zk2:2181,zk3:2181 -Dsolr.directoryFactory=HdfsDirectoryFactory -Dsolr.lock.type=hdfs -Dsolr.hdfs.home=hdfs:///user/solr
我的solr开始了 .
我用以下命令创建集合
bin/solr create -c Collection1 -d data_driven_schema_configs -n wafmaster1944 -rf 2 -s 3
但我得到了以下错误
集合:Collection1操作:创建失败:org.apache.solr.cloud.OverseerCollectionMessageHandler.createCollection(OverseerCollectionMessageHandler.java:2070)org.apache.solr.cloud.OverseerCollectionMessageHandler.processMessage(OverseerCollectionMessageHandler)中的org.apache.solr.common.SolrException .java:219)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在org.apache.solr的org.apache.solr.common.cloud.ZkStateReader.getBaseUrlForNodeName(ZkStateReader.java:780)中不包含预期的'_'分隔符:: 8983 . cloud.OverseerCollectionMessageHandler.createCollection(OverseerColl ectionMessageHandler.java:2007)
请帮我解决这个问题 .
维卡斯
1 回答
java.lang.Thread.run(Thread.java:745)引起:java.lang.IllegalArgumentException:nodeName不包含预期的'_'分隔符:: 8983 at at
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?