我使用的是RabbitMQ 3.7.5。
我创建了一个docker镜像,它以rabbitmq用户的身份运行rabbitmq。但我无法运行rabbitmq-plugins。bash-4.2$ rabbitmq-插件列表
Usage:
rabbitmq-plugins [-n <node>] [-l] [-q] <command> [<command options>]
.......
<timeout> - operation timeout in seconds. Default is "infinity".
Only root or rabbitmq can run rabbitmq-pluginsbash-4.2$ id
uid=10000(rabbitmq) gid=10000(rabbitmq) groups=10000(rabbitmq),1(bin)bash-4.2$ rabbitmqctl cluster_status
Cluster status of node rabbit@zt-crmq-0 ...
[{nodes,[{disc,['rabbit@zt-crmq-0','rabbit@zt-crmq-1','rabbit@zt-crmq-2']}]},
{running_nodes,['rabbit@zt-crmq-2','rabbit@zt-crmq-1','rabbit@zt-crmq-0']},
{cluster_name,<<"rabbit@zt-crmq-0.zt-crmq.default.svc.cluster.local">>},
{partitions,[]},
{alarms,[{'rabbit@zt-crmq-2',[]},
{'rabbit@zt-crmq-1',[]},
{'rabbit@zt-crmq-0',[]}]}]对于/usr/sbin/rabbitm-plugins:
main() {
ensure_we_are_in_a_readable_dir
if current_user_is_rabbitmq && calling_rabbitmq_server
then
exec_rabbitmq_server "$@"
elif current_user_is_rabbitmq && ! calling_rabbitmq_plugins
then
exec_script_as_rabbitmq "$@"
elif current_user_is_root && calling_rabbitmq_plugins
then
exec_script_as_rabbitmq "$@"
elif current_user_is_root
then
exec_script_as_root "$@"
else
run_script_help_and_fail
fi
}为什么它判断不以rabbitmq用户身份运行rabbitmq_plugins?
任何帮助都会得到重视。
B.R.,陶某
发布于 2020-06-26 18:11:31
main()中的if语句确实不允许我们从rabbitmq用户运行rabbitmq-plugins。不确定这是预期的还是只是一个bug,但您可以使用以下命令完全绕过该脚本:
$ /usr/lib/rabbitmq/bin/rabbitmq-plugins list | grep hash
[E*] rabbitmq_consistent_hash_exchange 3.8.4发布于 2018-12-10 04:10:21
尝试将rabbitmq用户添加到docker组。如果docker组不存在,则创建该组,然后将rabbitmq添加到docker组。
https://stackoverflow.com/questions/51470848
复制相似问题