我正在尝试通过配置文件(在 docker 中运行)配置 shovel 插件,但出现此错误:
BOOT FAILED
===========
Error description:
{error,{failed_to_cluster_with,[rabbit@dalmacpmfd57],
"Mnesia could not connect to any nodes."}}
配置是这样设置的,因为当开发环境启动时,将根据需要创建铲子的目标......源是一个永久的 rabbitmq 实例,新的开发环境将附加到该实例运行。
以下是配置文件内容:
[
{rabbitmq_shovel,
[{shovels,
[{indexer_replica_static,
[{sources,
[{broker, [ "amqp://guest:guest@rabbitmq/newdev" ]},
{declarations,
[{'queue.declare', [{queue, <<"Indexer_Replica_Static">>}, durable]},
{'queue.bind',[ {exchange, <<"Indexer">>}, {queue, <<"Indexer_Replica_Static">>}]}
]
}
]
},
{destinations,
[{broker, "amqp://"},
{declarations, [ {'exchange.declare', [ {exchange, <<"Indexer_Replica_Static">>}
, {type, <<"fanout">>}, durable]},
{'queue.declare', [
{queue, <<"Indexer_Replica_Static">>},
durable]},
{'queue.bind',
[ {exchange, <<"Indexer_Replica_Static">>}
, {queue, <<"Indexer_Replica_Static">>}
]}
]
}
]
},
{queue, <<"Indexer_Replica_Static">>},
{prefetch_count, 0},
{ack_mode, on_confirm},
{publish_properties, [ {delivery_mode, 2} ]},
{reconnect_delay, 2.5}
]
}
]
},
{reconnect_delay, 2.5}
]
}
].
[更新] 这是在 docker 中运行的,但由于我无法在 docker 中调试问题,我尝试使用相同的配置文件在本地启动 rabbit。我在日志中注意到我设置的兔子配置系统变量(RABBITMQ_CONFIG_FILE)没有反映在日志中,并且没有应用铲子设置(不足为奇吧)。我使用 echo 语句验证了变量并显示了正确的路径:/dev/rabbitmq_server-3.3.4/rabbitmq
=INFO REPORT==== 3-Sep-2014::15:30:37 ===
node : rabbit@dalmacpmfd57
home dir : /Users/e002678
config file(s) : (none)
cookie hash : n6vhh8tY7Z+uR2DV6gcHUg==
log : /usr/local/rabbitmq_server-3.3.4/sbin/../var/log/rabbitmq/rabbit@dalmacpmfd57.log
sasl log : /usr/local/rabbitmq_server-3.3.4/sbin/../var/log/rabbitmq/rabbit@dalmacpmfd57- sasl.log
database dir : /usr/local/rabbitmq_server-3.3.4/sbin/../var/lib/rabbitmq/mnesia/rabbit@dalmacpmfd57
谢谢!