rabbitmq-plugins无法以rabbitmq用户身份运行

时间:2018-07-23 02:18:21

标签: rabbitmq

我正在使用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, 道

2 个答案:

答案 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添加到泊坞窗组。