2014-10-01 7 views
15

मैं एक एंटरप्राइज़ एप्लिकेशन के लिए अपने डेटाबेस के बीच संदेशों को संभालने के लिए rabbitmq का उपयोग कर रहा हूं। प्रक्रिया के हिस्से के रूप में, मैं सर्वर के सेटअप को स्वचालित करने में मदद करने की कोशिश कर रहा हूं (उदा। इसे स्क्रिप्ट करें)। इस प्रक्रिया में, मैंने कमांड प्रॉम्प्ट से एक्सचेंज घोषित करने के लिए rabbitmqadmin का उपयोग करने का प्रयास किया है। मेरे पास CentOS 5.x और CentOS 6.x चल रहे 2 अलग-अलग सर्वर हैं और दोनों एक ही समस्या वाले हैं।खरगोश एमक्यू टर्मिनल से एक्सचेंज घोषित करें - एक्सेस अस्वीकार कर दी गई है:/एपीआई/एक्सचेंज/

अब तक मैंने एक व्यवस्थापक उपयोगकर्ता घोषित किया है और अपना पासवर्ड सेट किया है, तो मैंने अपना टैग व्यवस्थापक टैग के रूप में सेट किया है, फिर मुझे लगता है कि इसमें vhosts की अनुमति है। इसके बाद मैं एक्सचेंज घोषित करने की कोशिश करता हूं, उपयोगकर्ता और पासवर्ड निर्दिष्ट के साथ और यह विफल रहता है।

rabbitmqctl add_user administrator password 
rabbitmqctl set_user_tags administrator administrator 
rabbitmqctl set_permissions -p/administrator ".*" ".*" ".*" 
rabbitmqctl add_vhost vhostFoo 
rabbitmqctl set_permissions -p vhostFoo administrator ".*" ".*" ".*" 
rabbitmqadmin -u administrator -p password declare exchange --vhost=vhostFoo name=exchangeNew type=direct 

CentOS 5.x बॉक्स मैं सिर्फ rabbitmqadmin के बजाय python26 rabbitmqadmin उपयोग करने के लिए, लेकिन एक ही परिणाम प्राप्त है के लिए।

में पिछले आदेश के परिणाम:

*** Access refused: /api/exchanges/vhostFoo/exchangeNew 

दोनों मेरे CentOS 5.x और प्रतिशत 6.x बक्से RabbitMQ 3.3.5 चल रहे हैं। जो भी मैं याद कर रहा हूं या इस बारे में विचारों पर कोई विचार है कि मैं गलत क्या है (उदा। त्रुटि लॉग फ़ाइल या अधिक वर्बोज आउटपुट प्राप्त करने का तरीका) पर अधिक जानकारी प्राप्त कर सकता हूं?

उत्तर

18

मैंने अपनी समस्या का पता लगाया और अगर कोई और एक ही मुद्दे पर आता है तो जवाब पोस्ट करना चाहता था। मैंने अपने/var/log/rabbitmq को चेक किया/और आखिरी बिट ने मेरे vhostFoo तक पहुंच को दिखाया उपयोगकर्ता को 'अतिथि' के लिए मना कर दिया गया था। इस पर आधारित, यह मुझे लगा कि पैराम का मेरा आदेश गलत था, जो ऐसा लगता है। मैं निम्नलिखित का इस्तेमाल किया और यह ठीक काम किया:

rabbitmqadmin declare exchange --vhost=vhostFoo name=exchangeNew type=direct -u administrator -p password 
+1

स्पष्ट रूप से rabbitmqadmin को जो भी आदेश हम निष्पादित करना चुनते हैं उसके लिए अब उपयोगकर्ता नाम और पासवर्ड सेट की आवश्यकता है ... और यह एक अच्छी बात है! – kstratis

0

आप अपने सिस्टम पर स्थानीय स्तर पर व्यवस्थापक अधिकार के साथ उपयोगकर्ता जोड़ सकते हैं। अपने ब्राउज़र में http://localhost:15672/#/ टाइप करें। उस व्यवस्थापक टैब में, आप व्यवस्थापक अधिकार वाले उपयोगकर्ता बना सकते हैं।

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