2015-04-08 7 views
5

सोलर 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 शर्ड्स के बीच वितरित किया जाता है। क्या कुछ गलत है कि मैं कर रहा हूँ? कृपया मेरी मदद करें।

अग्रिम धन्यवाद ..

उत्तर

1

मैं निम्नलिखित लाइनों जोड़ा जबकि adminRequest बनाने, यह

adminRequest.setPath("/admin/collections"); 
adminRequest.setNumShards(2); 

काम पहले यह सहारे काम क्योंकि डिफ़ॉल्ट पथ वर्ष api "की ओर इशारा करते था /व्यवस्थापक/कोर "। हमें यह सुनिश्चित करने की ज़रूरत है कि नया एपीआई पथ "/व्यवस्थापक/संग्रह" व्यवस्थापक में दिया गया है New Collection API में उल्लिखित solrcloud संचालन के लिए अनुरोध वस्तु।

संबंधित मुद्दे