हम एक टाइटन ग्राफ डीबी सर्वर चला रहे हैं जो एक सतत स्टोर के रूप में कैसंड्रा द्वारा समर्थित है और कैसंड्रा टॉम्बस्टोन थ्रेसहोल्ड पर सीमा तक पहुंचने के साथ एक समस्या में भाग ले रहे हैं जो हमारे प्रश्नों को समय-समय पर विफल/समय-समय पर विफल कर रहा है डेटा जमा होता है। ऐसा लगता है कि कॉम्पैक्शन जोड़े जाने वाले मकबरे की संख्या को बनाए रखने में असमर्थ है।कैसंड्रा टॉम्बस्टनिंग चेतावनी और विफलता दहलीज
हमारे उपयोग के मामले का समर्थन करता है:
- उच्च पढ़ें/लिखें throughputs।
- पढ़ने के लिए उच्च संवेदनशीलता।
- टाइटन में नोड मानों के लिए लगातार अपडेट। कारणों को कैसंद्रा में अपडेट किया जा रहा है। समतल संघनन रणनीतियों
- tombstone_compaction_interval 60 सेकंड के रूप में उपयोग करते हुए का उपयोग करके
- आक्रामक संघनन:
ऊपर उपयोग के मामलों को देखते हुए, हम पहले से ही कैसेंड्रा आक्रामक तरीके से निम्न करने के लिए अनुकूलित कर रहे हैं। [चेतावनी] (ReadStage: 7510) ऑर्ग
- tombstone_threshold का उपयोग करते हुए 0.01
- gc_grace_seconds सेट करके 1800
होने के लिए, हम अभी भी कैसेंड्रा में चेतावनी को देख रहे हैं के लिए इसी तरह लॉग .apache.cassandra.db.filter.SliceQueryFilter: 0graphindex में 0 लाइव और 10350 tombstoned कोशिकाओं को पढ़ें (tombstone_warn_threshold देखें)। 8001 कॉलम अनुरोध किया गया था, स्लाइस = [00-एफएफ], delInfo = {deletedAt = -9223372036854775808, localDeletion = 2147483647}
कभी कभी समय की प्रगति, हम भी देख विफलता सीमा उल्लंघन किया है और त्रुटियों का कारण बनता।
हमारी cassandra.yaml फ़ाइल में tombstone_warn_threshold 10000 होने के लिए है, और tombstone_failure_threshold 250000 पर अनुशंसित की तुलना में बहुत अधिक होने के लिए, कोई वास्तविक ध्यान देने योग्य लाभ नहीं है।
किसी भी मदद की है कि हम सही विन्यास को इंगित कर सकते हैं बहुत सराहना की जाएगी अगर वहाँ आगे अनुकूलन के लिए कक्ष। आपके समय और मदद के लिए अग्रिम धन्यवाद।
क्या आप अक्सर डेटा हटा रहे हैं? यह मेरी समझ है कि जब तक डेटा स्पष्ट रूप से हटाया या समाप्त नहीं हो जाता तब तक किम्बस्टोन नहीं बनाए जाते हैं। –
हमारा विश्वास यह है कि टाइटन ग्राफडीबी जो आंतरिक रूप से कैसंद्रा के साथ हमारे सभी इंटरैक्शन को संभालती है, वह हटा सकता है और हर अद्यतन के लिए नए बनाता है, जो हटाए जाने की संख्या में जोड़ रहा है। – Rohit
यह पुष्टि करना अच्छा होगा कि क्या यह मामला था। क्या आप अपने कैसंड्रा नोड्स में से एक पर संभाव्य ट्रेसिंग (http://www.datastax.com/documentation/cassandra/2.0/cassandra/tools/toolsSetTraceProbability.html) सक्षम कर सकते हैं यह देखने के लिए कि क्या हटाए गए हैं? एक और संभावना यह है कि कॉलम की समयसीमा समाप्त हो रही है (टीटीएल के साथ सेट), क्या आपको लगता है कि यहां भी हो रहा है? –