सोलर 4.10.3 का उपयोग कर रहा हूं, मैं जावा में एम्बेडेड जेट्टी सर्वर के माध्यम से सोलर शुरू करता हूं। मैं 2 shards (नेताओं) के साथ solrcloud कॉन्फ़िगर करने की कोशिश कर रहा हूँ। मेरे पास बाहरी ज़ूकीपर सेटअप है, मैं इस तरह हलर शुरू करते समय ज़ूकीपर उदाहरण को इंगित करता हूं।सोलक्क्लाउड जुकेपर सेटअप: 4000ms की प्रतीक्षा करने के बाद कोई पंजीकृत नेता नहीं मिला, संग्रह: सी 1 स्लाइस: shard2
System.setProperty("zkHost", "192.168.2.21:2111");
System.setProperty("numShards", "2");
System.setProperty("collection.configName", "configuration1");
System.setProperty("bootstrap_confdir","/conf/zooconf");
मैं चल रहा दो Solr उदाहरणों, एक 8983 8984. समस्या है में बंदरगाह & अन्य में है, यकीन नहीं है कि दोनों Solr नोड्स नेता के रूप में पहचाने जाते हैं नहीं कर रहा हूँ। चूंकि मैं जावा के माध्यम से सोलर शुरू करता हूं, इसलिए मैं सोलर एडमिन यूआई में स्थिति नहीं देख सकता। मुख्य विधि मैं Solr उदाहरणों (8983) में से एक से कनेक्ट में
<?xml version="1.0" encoding="UTF-8" ?>
<solr>
<solrcloud>
<str name="host">192.168.2.21</str>
<int name="hostPort">${hostPort:8984}</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${solr.zkclienttimeout:30000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
<shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
<int name="socketTimeout">${socketTimeout:120000}</int>
<int name="connTimeout">${connTimeout:15000}</int>
</shardHandlerFactory>
</solr>
और निम्नलिखित कोड का टुकड़ा का उपयोग कर कोर बनाने के लिए:
बादमेरी solr.xml है।
CloudSolrServer server = new CloudSolrServer("192.168.2.21:2111");
server.setZkConnectTimeout(15*60*1000);
server.setZkClientTimeout(15*60*1000);
server.setParser(new BinaryResponseParser());
server.setRequestWriter(new BinaryRequestWriter());
server.setDefaultCollection("C1");
Create adminRequest = new Create();
adminRequest.setAction(CoreAdminAction.CREATE);
adminRequest.setCoreName("C1");
adminRequest.setCollection("C1");
adminRequest.setCollectionConfigName("configuration1");
adminRequest.setDataDir("c:\\setup\somelocation");
adminRequest.setInstanceDir("c:\\setup\somelocation\C1");
adminRequest.process(solrServer);
जब मैं इसे निष्पादित करता हूं, सी 1 केवल एक सोलर इंस्टेंस (8 9 83) में बनाया जाता है। (दो सोलर इंस्टेंस की डेटा निर्देशिकाओं में बनाए जाने वाला मूल नहीं है।)। और दस्तावेज़ जोड़ने के दौरान, निम्नलिखित अपवाद फेंक दिया गया है।
कोई पंजीकृत नेता 4000ms, संग्रह के लिए प्रतीक्षा करने के बाद पाया गया था: c1 टुकड़ा: shard2
यह है, जबकि clusterState जोड़ने दस्तावेज़:
live nodes:[192.168.2.21:8984_solr, 192.168.2.21:8983_solr] collections: {
C1=DocCollection(C1)= {
"shards":{
"shard1":{
"range":"80000000-ffffffff",
"state":"active",
"replicas":{
"core_node1":{
"state":"active",
"core":"C1",
"node_name":"192.168.2.21:8983_solr",
"base_url":"http://192.168.2.21:8983/solr",
"leader":"true"
}
}
},
"shard2":{
"range":"0-7fffffff",
"state":"active",
"replicas":{
}
}
},
"maxShardsPerNode":"1",
"router":{
"name":"compositeId"
},
"replicationFactor":"1",
"autoAddReplicas":"false",
"autoCreated":"true"
}
}
और अगर मैं में कोर बनाने दस्तावेज जोड़ने से पहले अन्य सोलर इंस्टेंस (8 9 84), यह ठीक काम करता है .. दस्तावेज़ों को अनुक्रमित किया जाता है और 2 शर्ड्स के बीच वितरित किया जाता है। क्या कुछ गलत है कि मैं कर रहा हूँ? कृपया मेरी मदद करें।
अग्रिम धन्यवाद ..