RabbitMQ: Can't enable plugin with rabbitmq priority queue priority, but why?

I have installed RabbitMQ from RPM on a CentOS 6.4 machine in my workplace. I was able to enable the plugin rabbitmq_management

and when I run rabbitmqctl status

I get this:

[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 ~]# 

      

This is the first time I install this RabbitMQ and it seems to be working fine.

The problem starts when I try to include another plugin called rabbitmq_priority_queue

which is required by the dev team at my company:

[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 ~]#

      

I tried many different things including installation erlang

and rabbitmq-server

from source, I tried to include other plugins and got them working ... only this particular plugin doesn't work.

If I search *priority_queue

on the system, I can find the following files, so it looks like it is installed:

/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

      

So why isn't the server finding this file? or where does he expect the file to be?

Edit # 1: I've also tried this:

[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}]

      

Now rabbitmqctl status

doesn't show which plugins are enabled, so I suspect it's not loaded correctly ...

Edit # 2: Ok, here it is:

[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]# 

      

Still giving me the same error ...

+3


source to share


2 answers


After following installation steps, my problem was resolved:



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

      

+2


source


Maybe you can try installing the plugin offline

rabbitmq-plugins enable --offline rabbitmq_priority_queue

      



and then reload your rabbitmq node:

rabbitmq-ctl stop_app && rabbitmq-ctl start_app

      

0


source







All Articles