2016-03-21 26 views
6

मैं खिड़कियों पर दूरस्थ कनेक्शन के लिए कैसेंड्रा Datastax समुदाय संस्करण कॉन्फ़िगर करने के लिए कोशिश कर रहा हूँ के लिए कैसेंड्रा को कैसे कॉन्फ़िगर करें,दूरस्थ कनेक्शन

कैसेंड्रा सर्वर एक विंडोज 7 पीसी पर स्थापित किया गया है, स्थानीय CQLSH यह स्थानीय करने के लिए पूरी तरह से जोड़ता है के साथ सर्वर।

Connection error: ('Unable to connect to any servers', {'MYHOST': error(10061, "Tried connecting to [('HOST_IP', 9042)]. Last error: No connection could be made because the target machine actively refused it")})

तो मैं सही ढंग से कॉन्फ़िगर करने के तरीके (मैं क्या परिवर्तन करते हैं तो सोच रहा हूँ:

लेकिन जब मैं एक ही नेटवर्क में एक और पीसी से CQLSH साथ कनेक्ट करने का प्रयास, मैं इस त्रुटि संदेश मिलता है cassandra.yaml कॉन्फ़िगरेशन फ़ाइल पर) कैसंड्रा सर्वर दूरस्थ कनेक्शन की अनुमति देने के लिए।

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

उत्तर

10

कैसंद्रा के लिए दूरस्थ पहुंच कैसंड्रा 2.0 के लिए अपने बहाव बंदरगाह के माध्यम से है। Cassandra 2.0.x में, डिफ़ॉल्ट cqlsh श्रवण पोर्ट 9160 है जिसे rpc_port पैरामीटर द्वारा cassandra.yaml में परिभाषित किया गया है। डिफ़ॉल्ट रूप से, Cassandra 2.0.x और पहले cassandra.yaml फ़ाइल में start_rpc को सत्य में कॉन्फ़िगर करके थ्रिफ्ट को सक्षम बनाता है।

कैसंड्रा 2.1 में, cqlsh उपयोगिता मूल प्रोटोकॉल का उपयोग करती है। कैसंड्रा 2.1 में, जो डेटास्टैक्स पायथन ड्राइवर का उपयोग करता है, डिफ़ॉल्ट सीक्लश श्रवण पोर्ट 9042 है।

कैसंड्रा नोड आपके सर्वर के नेटवर्क कार्ड के आईपी पते से बाध्य होना चाहिए - यह 127.0.0.1 या लोकहोस्ट नहीं होना चाहिए लूपबैक इंटरफ़ेस का आईपी है, इससे बाध्यकारी प्रत्यक्ष रिमोट एक्सेस को रोक देगा। बाध्य पता कॉन्फ़िगर करने के लिए, cassandra.yaml में rpc_address पैरामीटर का उपयोग करें। इसे 0.0.0.0 पर सेट करना सभी नेटवर्क इंटरफेस पर सुनेंगे।

क्या आपने जांच की है कि रिमोट मशीन कैसंड्रा नोड से कनेक्ट हो सकती है? क्या मशीनों के बीच फ़ायरवॉल है? आप इस बाहर का परीक्षण करने के लिए इन चरणों का प्रयास कर सकते हैं:

1) सुनिश्चित करें कि आप सर्वर पर हैं से कि आईपी से कनेक्ट कर सकते हैं:

$ ssh [email protected]

2) नोड की स्थिति की जाँच करें और भी पुष्टि करते हैं यह एक ही आईपी पता चलता है:

$ nodetool स्थिति

3) के लिए आदेश चलाएं आईपी ​​(यदि आप डिफ़ॉल्ट उपयोग नहीं कर रहे केवल पोर्ट निर्दिष्ट) के साथ कनेक्ट:

$ cqlsh xxx.xxx.xx.xx

+0

हैलो, आपकी मदद के लिए धन्यवाद, असल में आपका दूसरा बिंदु यह जानने के लिए बहुत उपयोगी था कि समस्या का कारण क्या था। मुद्रित नोडेटूल स्थिति से पता चला है कि नोड मशीन के स्थानीय आईपी पर इंगित नहीं कर रहा है, फिर "ipconfig" कमांड के साथ, मैंने पाया कि मशीन वर्चुअलबॉक्स ईथरनेट एडाप्टर का उपयोग कर रही थी। तो वर्चुअलबॉक्स वर्चुअल एडाप्टर को अक्षम करने के बाद, नोडेटूल ने सही स्थानीय आईपी मुद्रित किया और रिमोट कनेक्शन मेरे लिए काम किया !!! फिर से धन्यवाद ! – Obama

+0

यह सुनना बहुत अच्छा है :) – Kat

3

कैट को वैकल्पिक समाधान। , आदेशों/झंडे के बड़े ब्लॉक

  • जांच करें कि अगर चल ps aux | grep cassandra
  • के साथ चल रहा होगा उत्पादन:

    1. सर्वर [email protected]**.**.**.**
    2. बंद करो कैसेंड्रा में ssh उबंटू 16.04 के साथ काम किया, तो उनका प्रदर्शन उदाहरण के लिएउदाहरण में

      ubuntu 14018 4.6 70.1 2335692 712080 pts/2 Sl+ 04:15 0:11 java -Xloggc:./../logs/gc.log ........

      नोट 14,018 प्रक्रिया आईडी

    3. kill <process_id> साथ बंद करो
  • संपादित cassandra.yaml फ़ाइल (इस मामले 14,018 में) का पालन कर

      है
    • rpc_address: 0.0.0.0
    • broadcast_rpc_address: **.**.**.** < - अपने सर्वर का IP (कैसेंड्रा जड़ के भीतर से)
    • ओपन स्थानीय मशीन & पर एक और टर्मिनल cqlsh **.**.**.** के माध्यम से कनेक्ट (अपने सर्वर का आईपी) का परीक्षण करने के
  • पुनः प्रारंभ कैसेंड्रा ./bin/cassandra -f (0.0.0.0 के लिए सेट नहीं किया जा सकता है) ।
  • ./bin/nodetool status पते मेरी स्थानीय होस्ट आईपी (127.0.0.1) सूचना दी, लेकिन cqlsh दूर से अभी भी उस के बावजूद काम किया।

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