2016-02-26 6 views
17

हम अपाचे Solr (3.1.0) सूचकांक करने के लिए कई साइटों के लिए लिखे गए लेख का एक बहुत का उपयोग कर रहे 10+ बार दोहराता है। हमारे पास एक मास्टर/गुलाम सेटअप (नीचे पर प्रतिकृति कॉन्फ़िगरेशन) है, जहां सर्वर 1 लेखों को अनुक्रमित करता है, और सर्वर 2 अनुक्रमणिका को दोहराता है। गुलाम मास्टर हर 60 सेकंड मतदान करना चाहिए, लेकिन इसके बजाय, हम 75 लगातार /replication कॉल लगभग हर बार करने के लिए 10 देख सकते हैं।अपाचे Solr: दास हर बार यह चुनाव (? अत्यधिक प्रतिबद्ध)

प्रत्येक सौर कोर (${solr.core.name} दास कॉन्फ़िगर में) एक अलग साइट का प्रतिनिधित्व करता है। /replication कॉल मुझे लगता है कि अधिकांश सबसे बड़ी साइट से बंधे हैं। कोर में से एक ही प्रति मिनट 1 कॉल गया, और मैं update?commit=true बुला कई बार के बाद इस पुन: पेश कर पाए हैं, तो यह सोचने के लिए यह मास्टर प्रदर्शन करता है की राशि से संबंधित है मुझे ओर जाता है।

तो मेरे सवाल का, मैं कैसे Solr गुलाम बार के सूचकांक दर्जनों नकल से रोकने के लिए और सिर्फ एक बार प्रति मिनट दोहराने के लिए यह मजबूर करते है? मैं मास्टर कॉन्फ़िग में commitReserveDuration पैरामीटर के साथ खेल की कोशिश की है, लेकिन मैं वास्तव में कोई अंतर नहीं दिख रहा।

मास्टर प्रतिकृति config:

<requestHandler name="/replication" class="solr.ReplicationHandler" > 
    <lst name="master"> 
    <str name="replicateAfter">commit</str> 
    <str name="replicateAfter">startup</str> 
    </lst> 
</requestHandler> 

दास प्रतिकृति config:

<requestHandler name="/replication" class="solr.ReplicationHandler" > 
    <lst name="slave"> 
    <str name="masterUrl">http://${solr.master.server}/search/${solr.core.name}/replication</str> 
    <str name="pollInterval">00:00:60</str> 
    </lst> 
</requestHandler> 
+0

मैं मतदान अंतराल को अक्षम करने की कोशिश करता हूं (कोई मतदान अंतराल निर्दिष्ट नहीं करता) और एक क्रॉन नौकरी द्वारा ट्रिगर किए गए एपीआई कॉल द्वारा प्रतिकृति निष्पादित करता है। क्या इसने सहायता की? https://wiki.apache.org/solr/SolrReplication?action=AttachFile&do=get&target=replication.png –

+0

उत्तर के लिए धन्यवाद। मैंने कोशिश की और '/ replication? Command = fetchindex' को कॉल करने के बाद मास्टर पर बहुत सारी'/प्रतिकृति 'कॉल ट्रिगर होती है ... मुझे इसके बीच कोई अंतर नहीं दिखता है और कॉन्फ़िगरेशन में मतदान अंतराल को रोकता है। ईमानदार होने के लिए, यह पूरी तरह से सामान्य व्यवहार हो सकता है, लेकिन मुझे इसका वर्णन करने वाले किसी भी दस्तावेज़ को नहीं मिला है। –

+0

यह समस्या को ट्रैक करने का सिर्फ एक विचार था। क्षमा करें, मैं आपकी मदद नहीं कर सकता। –

उत्तर

1
config आप प्रतिकृति के रूप में प्रतिबद्ध के बाद निर्दिष्ट है, तो बैठाना यदि आप जारी कर रहे हैं कोड से प्रतिबद्ध बहुत बार तो यह में

प्रतिकृति ट्रिगर करेगा, इसलिए मैं प्रतिबद्धता के बजाय अनुकूलित करने के लिए बदलने का सुझाव दूंगा। इससे आपकी समस्या का समाधान हो जाना चाहिए। Here वह लिंक है जो प्रतिकृति सेटिंग्स के बारे में अधिक जानकारी देता है।

+0

आपकी टिप्पणी के लिए धन्यवाद। जब मैं अनुकूलित करने के लिए प्रतिबद्धता बदलता हूं, तो दास मास्टर के साथ 5+ मिनट के लिए सिंक से बाहर प्रतीत होता है, जो कि बहुत लंबा है। धन्यवाद हालांकि, मैं कोड से ऑप्टिमाइज़ेशन को कॉल करने का तरीका खोजने का प्रयास करूंगा और देख सकता हूं कि यह काम करता है या नहीं। –

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