2013-05-14 78 views
2

我對rabbitmq非常陌生,我在一個EC2實例上安裝rabbitmq-server,並且想要在另一個EC2實例上創建一個消費者。需要幫助確定主機名

但我發現了這個錯誤:

socket.gaierror: [Errno -2] Name or service not known 

這就是節點狀態:

[email protected]:~$ sudo rabbitmq-server restart 
ERROR: node with name "rabbit" already running on "ip-10-147-xxx-xxx" 

DIAGNOSTICS 
=========== 

nodes in question: ['[email protected]'] 

hosts, their running nodes and ports: 
- ip-10-147-xxx-xxx: [{rabbit,46074},{rabbitmqprelaunch4603,51638}] 

current node details: 
- node name: '[email protected]' 
- home dir: /var/lib/rabbitmq 
- cookie hash: Gsnt2qHd7wWDEOAOFby= 

這就是消費者代碼:

import pika 

cred = pika.PlainCredentials('guest', 'guest') 
conn_params = pika.ConnectionParameters('10-147-xxx-xxx', credentials=cred) 
conn_broker = pika.BlockingConnection(conn_params) 

conn_broker = pika.BlockingConnection(conn_params) 
channel = conn_broker.channel() 
channel.exchange_declare(exchange='hello-exchange', type='direct', passive=False, durable=True, auto_delete=False) 

channel.queue_declare(queue='hello-queue') 
channel.queue_bind(queue='hello-queue', exchange='hello-exchange', routing_key='hola') 

def msg_consumer(channel, method, header, body): 
    channel.basic_ack(delivery_tag=method.delivery_tag) 
    if body == 'quit': 
     channel.basic_cancel(consumer_tag='hello-consumer') 
     channel.stop_consuming() 
    else: 
     print body 

    return 

channel.basic_consume(msg_consumer, queue='hello-queue', consumer_tag='hello-consumer') 
channel.start_consuming() 
+0

你確定你打開了安全組的端口。此客戶端也可以在安裝兔子的服務器上工作。 – Bigtoe 2013-05-16 10:29:20

+0

這方面的進展如何? – Carl 2014-04-23 15:55:18

回答

0

您應該檢查安全組允許你使用rabbitMQ端口,也似乎你沒有使用Rabbit的默認端口(5672),所以它應該在你的連接參數