我在安装Shovel插件后尝试在RabbitMQ 3.2.3上配置动态铲。但是,当我运行以下命令时:
rabbitmqctl set_parameter shovel test-shovel '{"src-uri": "amqp://", "src-queue": "queueName", "dest-uri": "amqp://user:password@host", "dest-queue": "queueName"}'
...我收到此错误消息:
Error: Validation failed
component shovel not found
插件似乎安装正确。如果我跑:
rabbitmq-plugins list
......我明白了:
[e] amqp_client 3.2.3
[ ] cowboy 0.5.0-rmq3.2.3-git4b93c2d
[ ] eldap 3.2.3-gite309de4
[e] mochiweb 2.7.0-rmq3.2.3-git680dba8
[ ] rabbitmq_amqp1_0 3.2.3
[ ] rabbitmq_auth_backend_ldap 3.2.3
[ ] rabbitmq_auth_mechanism_ssl 3.2.3
[ ] rabbitmq_consistent_hash_exchange 3.2.3
[ ] rabbitmq_federation 3.2.3
[ ] rabbitmq_federation_management 3.2.3
[ ] rabbitmq_jsonrpc 3.2.3
[ ] rabbitmq_jsonrpc_channel 3.2.3
[ ] rabbitmq_jsonrpc_channel_examples 3.2.3
[E] rabbitmq_management 3.2.3
[e] rabbitmq_management_agent 3.2.3
[ ] rabbitmq_management_visualiser 3.2.3
[ ] rabbitmq_mqtt 3.2.3
[E] rabbitmq_shovel 3.2.3
[E] rabbitmq_shovel_management 3.2.3
[ ] rabbitmq_stomp 3.2.3
[ ] rabbitmq_tracing 3.2.3
[e] rabbitmq_web_dispatch 3.2.3
[ ] rabbitmq_web_stomp 3.2.3
[ ] rabbitmq_web_stomp_examples 3.2.3
[ ] rfc4627_jsonrpc 3.2.3-git5e67120
[ ] sockjs 0.3.4-rmq3.2.3-git3132eb9
[e] webmachine 1.10.3-rmq3.2.3-gite9359c7
另外,如果我跑:
rabbitmqctl eval 'rabbit_shovel_status:status().'
......我明白了:
[]
...done.
有任何想法吗?!提前谢谢!
答案 0 :(得分:4)
在3.3.0中添加了动态铲子,doh!我们仍然在3.2.3。
答案 1 :(得分:1)
确定, 通常,此行为是在您安装插件时,并且您不重新启动RabbitMQ服务器。
重启RMQ是强制性的。
答案 2 :(得分:0)
由于3.8.6
之前的RMQ版本中的竞争条件,也可能发生这种情况。在3.8.6
之前,加载静态定义可能在激活插件之前发生,从而导致此验证错误。有关更多信息,请参见GitHub第rabbitmq/rabbitmq-server#2384。