2012-09-05 12 views
7

की उपलब्धता मैं एक समस्या में भाग रहा हूं "me.prettyprint.hector.api.exceptions.HUnavailableException:: स्थिरता स्तर को संभालने के लिए पर्याप्त प्रतिकृतियां मौजूद नहीं हो सकती हैं।" जब मेरे पास आरएफ = 1 है, तो सुसंगतता स्तर = 1 पढ़ें और 6 नोड रिंग/क्लस्टर में नोड्स में से एक नीचे है। मेरे सभी पढ़ इस अपवाद के साथ विफल रहे हैं। कोई उपाय? आदर्श रूप से केवल पढ़ता है कि नोड में डेटा की तलाश में है जो नीचे असफल होना चाहिए और अन्य सभी पढ़ना सफल होना चाहिए?कैसंद्रा

+0

क्या आपको cqlsh का उपयोग करके एक ही समस्या दिखाई देती है? हेक्टर बहुत चालाक होने की कोशिश कर रहा है और अपनी उपलब्धता का पता लगा सकता है। – jbellis

+0

हां। मैंने सीक्यूएलएसएच की कोशिश की है यह भी एक ही मुद्दा है –

उत्तर

4

हो सकती है कुछ संभावनाएं:

  • आप एक बहु पंक्ति क्वेरी (get_range, get_indexed_slices, multiget, या cql समकक्ष) जो एक से अधिक नोड्स अप
  • आपका क्लस्टर होने की आवश्यकता है चला रहे हैं असंतुलित है, नीचे की नोड के अधिकांश अंगूठी का मालिक है; एक खराब बहु-डीसी विन्यास कुछ समान
  • भी उत्पन्न कर सकता है, आपका क्लस्टर शुरू करने के लिए एक अच्छी स्थिति में नहीं था, जहां कुछ नोड्स दूसरों को नहीं देखते हैं। सुनिश्चित करें कि nodetool अंगूठी जब क्लस्टर

उन में से कोई भी कारण, पुनः जाँच लें कि आप हेक्टर और cqlsh साथ सही ढंग से स्थिरता के स्तर को निर्दिष्ट कर रहे हैं, तो प्रत्येक नोड के खिलाफ चलाए ही उत्पादन से पता चलता बनाओ।

3

जब मैंने अपनी प्रतिकृति सेटिंग्स को गलत तरीके से कॉन्फ़िगर किया है, तो मैंने कुछ ऐसा ही देखा है, विशेष रूप से मेरे पास ओम प्रतिकृति रणनीति नामक गलत डेटासेंटर थे। दो बार जांचें कि आपके डीसी क्या हैं (मान लें कि आप NetworkTopologyStrategy का उपयोग कर रहे हैं)।

आप पहले से ही, अपने डीसी के नाम पता नहीं है नोड्स में से एक पर एक खोल में चलाएँ:

$ nodetool -h localhost ring 
Address   DC   Rack  Status State Load   Owns Token          
                       141784319550391000000000000000000000000  
172.26.233.135 Cassandra rack1  Up  Normal 25.75 MB  16.67% 0           
172.26.233.136 Cassandra rack1  Up  Normal 26.03 MB  16.67% 28356863910078200000000000000000000000  
172.26.233.137 Cassandra rack1  Up  Normal 27.19 MB  16.67% 56713727820156400000000000000000000000  
172.26.233.138 Cassandra rack1  Up  Normal 26.78 MB  16.67% 85070591730234600000000000000000000000  
172.26.233.139 Solr  rack1  Up  Normal 24.47 MB  16.67% 113427455640313000000000000000000000000  
172.26.233.140 Solr  rack1  Up  Normal 26.66 MB  16.67% 141784319550391000000000000000000000000 

आप देख सकते हैं हम दो डीसी, कैसेंड्रा और Solr है (यह एक दिल्ली शेयर बाजार समूह है) ।

कैसेंड्रा-CLI में:

use Keyspace1; 
describe; 

CLI रणनीति विकल्प प्रिंट होगा:

Keyspace: Catalog: 
    Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy 
    Durable Writes: true 
    Options: [DC1:3] 
... 

हम एक गलत मैच है। कैसंद्रा डीसी 1 नामक डेटासेंटर की तलाश में है, इसलिए अनुपलब्ध अपवाद। हमें अपने क्लस्टर में वास्तविक डीसी से मेल खाने के लिए प्रतिकृति विकल्पों को अपडेट करने की आवश्यकता है। सीएलआई में, डेटा केंद्र नामों का उपयोग करके अपने कुंजीपटल के लिए रणनीति विकल्प अपडेट करें:

update keyspace Keyspace1 with strategy_options = {Cassandra:3,Solr:2}; 
+0

मेरे मामले में, मेरे पास क्यूएंड पर्यावरण के लिए उत्पादन वातावरण (जिसमें दो डेटा केंद्र थे) से प्रतिलिपि बनाई गई थी (जिसमें एक डेटा केंद्र था)। एक डेटा केंद्र इंगित करने के लिए स्कीमा को ठीक करने के बाद, समस्या हल हो गई थी। – zafar142003

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