2014-10-01 11 views
15

I rabbitmq bin mit Nachrichten zwischen meinen Datenbanken zu handhaben für eine Unternehmensanwendung ich arbeite. Als Teil des Prozesses versuche ich, die Einrichtung der Server zu automatisieren (z. B. Skript). In diesem Prozess habe ich versucht, rabbitmqadmin zu verwenden, den Austausch über die Eingabeaufforderung zu erklären. Ich habe 2 verschiedene Server laufen CentOS 5.x und CentOS 6.x und beide das gleiche Problem haben.RabbitMQ Deklarieren Austausch von Terminal - Zugriff verweigert:/api/Börsen/

Bisher erklärte ich einen Benutzeradministrator und stellen Sie das Passwort, dann setze ich sein Tag des Administrators-Tag sein, ich kann es Berechtigungen für die vhosts dann gewährleisten hat. Danach versuche ich den Austausch mit Benutzer und Passwort zu deklarieren und es schlägt fehl.

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 

Für das CentOS 5.x Box rabbitmqadminpython26 rabbitmqadmin statt nur zu verwenden, die ich habe, aber das gleiche Ergebnis.

Die letzte Befehl Ergebnisse in:

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

Sowohl meine CentOS 5.x und 6.x Cent-Boxen laufen rabbitmq 3.3.5. Irgendwelche Gedanken darüber, was ich vermisse oder Gedanken darüber, wie ich mehr Informationen darüber bekommen kann, was falsch ist (z. B. Fehlerprotokolldatei oder Möglichkeit, eine ausführlichere Ausgabe zu erhalten)?

Antwort

18

dachte ich, mein Problem und wollte die Antwort, falls jemand anderes über das gleiche Problem kommt posten. Ich überprüfte mein/var/log/rabbitmq/und das letzte Bit, das Zugriff auf mein vhostFoo zeigte, wurde für den Benutzer 'guest' abgelehnt. Auf dieser Grundlage ließ es mich denken, dass meine Reihenfolge der Params falsch war, was der Fall zu sein scheint. Früher habe ich die folgende und es funktionierte gut:

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

Anscheinend braucht rabbitmqadmin jetzt Benutzername und Passwort für den Befehl, den wir ausführen möchten ... und das ist gut so! – kstratis

0

Sie können die Benutzer mit Administratorrechten lokal auf Ihrem System hinzufügen. Typ http://localhost:15672/#/ in Ihrem Browser. In dieser Registerkarte "Admin" können Sie einen Benutzer mit Administratorrechten erstellen.