我正在使用RabbitMQ 3.7.5。
我创建了一个以Rabbitmq用户身份运行Rabbitmq的docker映像。 但是我无法运行rabbitmq-plugins。 bash-4.2 $ rabbitmq-plugins列表
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-plugins
bash-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, 道
答案 0 :(得分:1)
main()
中的if语句确实不允许我们从rabbitmq-plugins
用户运行rabbitmq
。不知道这是预期的还是错误,但是您可以
完全绕过该脚本:
$ /usr/lib/rabbitmq/bin/rabbitmq-plugins list | grep hash
[E*] rabbitmq_consistent_hash_exchange 3.8.4
答案 1 :(得分:0)
尝试将rabbitmq用户添加到泊坞窗组。如果泊坞窗组不存在,请创建该组,然后将rabbitmq添加到泊坞窗组。