2016-11-29 5 views
6

मैं इस solution (Win10 x64 पर) को लागू करने की कोशिश कर रहा हूं, लेकिन किसी कारण से सभी सॉकेटक्लस्टर नोड्स एक दूसरे के साथ संवाद करने से इनकार करते हैं।सॉकेटक्लस्टर सर्वर कनेक्टिंग

enter image description here

Sothis मेरी CUR है। विन्यास:

  • 1 StateServer [7777]
  • 1 BrokerServer [8888]
  • 2 SocketCluster सर्वर पोर्ट पर चल रहा है [8000, 8001]
  • 1 LoadBalancer [2000] 2 के बीच यातायात को विभाजित करने के नोड्स।

मैं यह सुनिश्चित किया कि दोनों राज्य और ब्रोकर severs सुन रहे हैं: (?)

TCP [::]:7777    [::]:0     LISTENING 
    TCP [::]:8888    [::]:0     LISTENING 

मैं अब तक क्या समझ लिया है से, BrokerServerSocketCluster नोड्स के साथ-साथ सभी StatusServer से कनेक्ट करना चाहिए

मैं सफलतापूर्वक BrokerServerStateServer से कनेक्ट सकता है, लेकिन जब भी मैं SocketCluster सेवाओं के किसी भी कनेक्ट करने का प्रयास है, यह रिपोर्ट 'सॉकेट त्रिशंकु' त्रुटियों।

StateServer:

SC Cluster State Server is listening on port 7777 
Sever d08298c6-523f-4c1b-9fcc-efd4e92fab22 at address undefined on port 8888 joined the cluster 
Client 10612bde-514f-40d3-9340-7179a1901376 at address undefined joined the cluster 
Cluster state converged to active:["ws://[undefined]:8888"] 

SocketCluster उदाहरण:

{ SocketProtocolError: Socket hung up 
    at Emitter.SCSocket._onSCClose (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\socketcluster-client\lib\scsocket.js:596:15) 
    at Emitter.<anonymous> (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\socketcluster-client\lib\scsocket.js:285:12) 
    at Emitter.emit (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\component-emitter\index.js:131:20) 
    at Emitter.SCEmitter.emit (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\sc-emitter\index.js:28:26) 
    at Emitter.SCTransport._onClose (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\socketcluster-client\lib\sctransport.js:175:30) 
    at WebSocket.wsSocket.onerror (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\socketcluster-client\lib\sctransport.js:104:12) 
    at WebSocket.onError (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\ws\lib\WebSocket.js:452:14) 
    at emitOne (events.js:96:13) 
    at WebSocket.emit (events.js:188:7) 
    at WebSocket.EventEmitter.emit (C:\Users\Alex\AppData\Roaming\npm\node_modules\socketcluster\node_modules\sc-domain\index.js:12:31) 
    name: 'SocketProtocolError', 
    message: 'Socket hung up', 
    code: 1006 } 
+0

मुझे राज्य संस्करण, ब्रोकर और सॉकेटक्लस्टर रेपो के नवीनतम संस्करणों के साथ लिनक्स पर एक ही समस्या का सामना करना पड़ रहा है। क्या आपको कोई कामकाज मिला। – nagamanojv

+0

ठीक है, जैसे ही मैंने उबंटू में स्विच किया, सब कुछ काम करना शुरू कर दिया। यद्यपि नवीनतम रेपो का परीक्षण नहीं किया है। – Alexus

+0

मैं वर्तमान में केवल उबंटू पर हूं। यह काम नहीं कर रहा है। डुनो क्या गलत है। – nagamanojv

उत्तर

1

यह पता चला, कि क्षैतिज क्लस्टर स्केलिंग अभी तक विंडोज ओएस पर ठीक से काम नहीं कर रहा है (का उपयोग करते हुए वर्तमान संस्करण v.1.2। 1)। SocketCluster दोनों कारण किसी कारण से brokerServer को संक्रमित नहीं कर रहे हैं।

1

क्या आप किसी भी मौके से डॉकर कंटेनरों में उन उदाहरणों को चला रहे हैं?

आपके द्वारा राज्य सर्वर (पता अपरिभाषित) से प्राप्त लॉग आउटपुट के आधार पर, ऐसा लगता है कि एससीसी-स्टेट इंस्टेंस आपके उदाहरणों के आईपी पते को नहीं समझ सकता है। यह कई कारणों से हो सकता है। उदाहरण के लिए, डॉकर कंटेनर के अंदर एक उदाहरण चलाकर उस इंस्टेंस के वास्तविक आईपी पते को अस्पष्ट कर सकते हैं। यह भी संभव है कि विंडोज़ पर एससीसी चलाना इसी तरह की समस्याएं पैदा कर सकता है।

प्रत्येक समस्या को लॉन्च करते समय SCC_INSTANCE_IP पर्यावरण चर सेट करने के लिए इस समस्या का समाधान है - इस पर्यावरण परिवर्तक को उदाहरण के आईपी पते को पकड़ना चाहिए जो अन्य उदाहरणों से कनेक्ट करने के लिए उपयोग कर सकते हैं (यदि डॉकर का उपयोग करते हैं, तो आप इसका उपयोग कर सकते हैं docker inspect एक विशिष्ट कंटेनर के निजी नेटवर्क आईपी पते को खोजने के लिए आदेश)।

SCC_INSTANCE_IP या तो एक निजी आईपी पता, सार्वजनिक आईपी पता या मेजबाननाम हो सकता है।

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