gpt4 book ai didi

erlang - RabbitMQ:无法特别启用 rabbitmq-priority-queue 插件,但为什么呢?

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:41 27 4
gpt4 key购买 nike

我在工作场所的 CentOS 6.4 机器上通过 RPM 安装了 RabbitMQ。我能够启用 rabbitmq_management 插件,当我运行 rabbitmqctl status 时,我得到了这个:

[root@p39dev-reportservice01 ~]# rabbitmqctl  status
Status of node 'rabbit@p39dev-reportservice01' ...
[{pid,11221},
{running_applications,
[{rabbitmq_management,"RabbitMQ Management Console","3.4.1"},
{rabbitmq_management_agent,"RabbitMQ Management Agent","3.4.1"},
{rabbit,"RabbitMQ","3.4.1"},
{mnesia,"MNESIA CXC 138 12","4.5"},
{os_mon,"CPO CXC 138 46","2.2.7"},
{rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.4.1"},
{webmachine,"webmachine","1.10.3-rmq3.4.1-gite9359c7"},
{mochiweb,"MochiMedia Web Server","2.7.0-rmq3.4.1-git680dba8"},
{amqp_client,"RabbitMQ AMQP Client","3.4.1"},
{xmerl,"XML parser","1.2.10"},
{inets,"INETS CXC 138 49","5.7.1"},
{sasl,"SASL CXC 138 11","2.1.10"},
{stdlib,"ERTS CXC 138 10","1.17.5"},
{kernel,"ERTS CXC 138 10","2.14.5"}]},
{os,{unix,linux}},
{erlang_version,
"Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:30] [kernel-poll:true]\n"},
{memory,
[{total,31534688},
{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,5408},
{queue_procs,2704},
{queue_slave_procs,0},
{plugins,290736},
{other_proc,9278088},
{mnesia,60768},
{mgmt_db,57944},
{msg_index,46864},
{other_ets,1100576},
{binary,10728},
{code,17196379},
{atom,1547225},
{other_system,1937268}]},
{alarms,[]},
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,1607422771},
{disk_free_limit,50000000},
{disk_free,39843336192},
{file_descriptors,
[{total_limit,924},{total_used,3},{sockets_limit,829},{sockets_used,1}]},
{processes,[{limit,1048576},{used,177}]},
{run_queue,0},
{uptime,140}]
[root@p39dev-reportservice01 ~]#

这是我第一次安装这个 RabbitMQ,就目前看来它运行正常。

当我尝试启用另一个名为 rabbitmq_priority_queue 的插件时,问题就出现了,这是我公司的开发团队所需要的:

[root@p39dev-reportservice01 ~]# rabbitmq-plugins enable --online rabbitmq_priority_queue
The following plugins have been enabled:
rabbitmq_priority_queue

Applying plugin configuration to rabbit@p39dev-reportservice01... failed.
Error: {"no such file or directory","rabbitmq_priority_queue.app"}
[root@p39dev-reportservice01 ~]#

我已经尝试了很多不同的东西,包括从源代码安装 erlangrabbitmq-server,我已经尝试启用其他插件并让它们工作......只是这个特定的插件不起作用。

如果我在系统中查找 *priority_queue,我可以找到下一个文件,因此它看起来确实已安装:

/usr/lib/rabbitmq/lib/rabbitmq_server-3.4.1/ebin/priority_queue.beam
/usr/lib/rabbitmq/lib/rabbitmq_server-3.4.1/plugins/rabbitmq_priority_queue-3.4.x-3431dc1e.ez
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-erlang-client/deps/rabbit_common-0.0.0/ebin/priority_queue.beam
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-erlang-client/dist/rabbit_common-0.0.0/ebin/priority_queue.beam
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/build/rabbitmq_priority_queue.app.0.0.0
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/build/app/rabbitmq_priority_queue-0.0.0
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/build/app/rabbitmq_priority_queue-0.0.0/ebin
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/build/app/rabbitmq_priority_queue-0.0.0/include
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/build/app/rabbitmq_priority_queue-0.0.0/ebin/rabbit_priority_queue.beam
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/build/app/rabbitmq_priority_queue-0.0.0/ebin/rabbitmq_priority_queue.app
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/build/dep-apps/rabbit_common-0.0.0/ebin/priority_queue.beam
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/dist/rabbitmq_priority_queue-0.0.0.ez
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/ebin/rabbit_priority_queue.beam
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/ebin/rabbitmq_priority_queue.app
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/src/rabbit_priority_queue.erl
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/src/rabbitmq_priority_queue.app.src
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/test/src/rabbit_priority_queue_test.erl
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-server/ebin/priority_queue.beam
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-server/src/priority_queue.erl
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-stomp/build/dep-apps/rabbit_common-0.0.0/ebin/priority_queue.beam
/var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-test/build/dep-apps/rabbit_common-0.0.0/ebin/priority_queue.beam

服务器怎么找不到这个文件呢?或者它期望文件在哪里?

编辑 #1:我也试过这个:

[root@p39dev-reportservice01 rabbitmq-priority-queue]# rabbitmq-plugins enable --offline rabbitmq_priority_queue
Plugin configuration unchanged.
[root@p39dev-reportservice01 rabbitmq-priority-queue]# rabbitmqctl stop_app & rabbitmqctl start_app
[1] 12190
Stopping node 'rabbit@p39dev-reportservice01' ...
Starting node 'rabbit@p39dev-reportservice01' ...
[1]+ Done rabbitmqctl stop_app
[root@p39dev-reportservice01 rabbitmq-priority-queue]# rabbitmqctl status
Status of node 'rabbit@p39dev-reportservice01' ...
[{pid,11221},
{running_applications,[{xmerl,"XML parser","1.2.10"},
{inets,"INETS CXC 138 49","5.7.1"},
{sasl,"SASL CXC 138 11","2.1.10"},
{stdlib,"ERTS CXC 138 10","1.17.5"},
{kernel,"ERTS CXC 138 10","2.14.5"}]},
{os,{unix,linux}},
{erlang_version,"Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:30] [kernel-poll:true]\n"},
{memory,[{total,30807688},
{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,0},
{queue_procs,0},
{queue_slave_procs,0},
{plugins,0},
{other_proc,9193816},
{mnesia,0},
{mgmt_db,0},
{msg_index,0},
{other_ets,927744},
{binary,4424},
{code,17196379},
{atom,1547225},
{other_system,1938100}]},
{alarms,[]},
{listeners,[]},
{processes,[{limit,1048576},{used,58}]},
{run_queue,0},
{uptime,2527}]

现在 rabbitmqctl status 没有显示启用了哪些插件,所以我怀疑它没有正确加载...

编辑#2:好的,这里是:

[root@p39dev-reportservice01 rabbitmq-priority-queue]# rabbitmqctl stop_app & rabbitmqctl start_app
[1] 12411
Starting node 'rabbit@p39dev-reportservice01' ...
Stopping node 'rabbit@p39dev-reportservice01' ...


BOOT FAILED
===========

Error description:
{error,{"no such file or directory","rabbitmq_priority_queue.app"}}

Log files (may contain more information):
/var/log/rabbitmq/rabbit@p39dev-reportservice01.log
/var/log/rabbitmq/rabbit@p39dev-reportservice01-sasl.log

Stack trace:
[{app_utils,load_applications,2},
{app_utils,load_applications,1},
{rabbit,start_apps,1},
{rabbit,broker_start,0},
{rabbit,start_it,1},
{rpc,'-handle_call_call/6-fun-0-',5}]

Error: {rabbit,failure_during_boot,
{error,{"no such file or directory",
"rabbitmq_priority_queue.app"}}}
[1]+ Done rabbitmqctl stop_app
[root@p39dev-reportservice01 rabbitmq-priority-queue]#

仍然给我同样的错误...

最佳答案

按照接下来的安装步骤解决了我的问题:

yum install -y epel-release
yum install -y erlang
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.1/rabbitmq-server-3.4.1-1.noarch.rpm
rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm
rabbitmqctl status
cd /var/lib/rabbitmq/
yum install -y -y mercurial-1.4-3.el6.x86_64 git
hg clone http://hg.rabbitmq.com/rabbitmq-public-umbrella
cd rabbitmq-public-umbrella/ && make co
cd rabbitmq-management && make
rabbitmq-plugins enable rabbitmq_management
cd .. && git clone https://github.com/rabbitmq/rabbitmq-priority-queue
cd rabbitmq-priority-queue/ && make
cp /var/lib/rabbitmq/rabbitmq-public-umbrella/rabbitmq-priority-queue/dist/rabbitmq_priority_queue-0.0.0.ez /usr/lib/rabbitmq/lib/rabbitmq_server-3.4.1/plugins/
rabbitmq-plugins enable --offline rabbitmq_priority_queue
/etc/init.d/rabbitmq-server restart

关于erlang - RabbitMQ:无法特别启用 rabbitmq-priority-queue 插件,但为什么呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26697628/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com