RabbitMQ管理API调用失败:HTTP 500:内部服务器错误



我使用Celery Flower和RabbitMQ作为消息代理。然而我是:得到讨厌的错误

错误-RabbitMQ管理API调用失败:HTTP 500:内部服务器错误

每次尝试访问RabbitMQ管理界面上的RabbitMQ队列时(http://localhost:15672/#/queues)或芹菜经纪人(http://localhost:5555/broker)。

以下是详细的日志信息:

=ERROR REPORT===2017年1月15日::23:12:19==Web机器错误:path="/api/queues/%2F"{ERROR,}ERROR,function_clause,[{mochijson2,json_encode_string_unicode,[{error,[],<<166,65,92180,0,0,0,0>>},{encoder,null,false},",〔{file,"src/mochijson2.erl"},{line,274}〕},{mochijson2,'-json_encode_proplist/2-fun-',3,〔{file,"src/mochijson2.erl"},{line,198}〕},{lists,foldl,3,[{file,"lists.erl"},{line,1248}]},{mochijson2,json_encode_proplist,2,〔{file,"src/mochijson2.erl"},{line,202}〕},{mochijson2,'-json_encode_proplist/2-fun-',3,{file,"src/mochijson2.erl"},{line,199}]},{lists,foldl,3,[{file,"lists.erl"},{line,1248}]},{mochijson2,json_encode_proplist,2,〔{file,"src/mochijson2.erl"},{line,202}〕},{mochijson2,'-json_encode_array/2-fun-'-,3,{file,"src/mochijson2.erl"},{line,189}]]}}

RabbitMQ web管理为我提供了:

得到了带有body的响应代码500{"error":"Internal Server错误","原因":"{Error,{Error,function_clause,\n[{mochijson2,json_encode_string_unicode,\n[{error,[],<<166,65,92180,0,0,0,0>>},\n{encoder,null,false}"\"],\n[{file,"src/mochijson2.erl"},{line,274}]},\n{mochijson2,'-json_encode_proplist/2-fun-',3,\n[{file,"src/mochijson2.erl"},{line,198}]},\n{lists,foldl,3,[{file,"lists.erl"},{line,1248}]},\n{mochijson2,json_encode_proplist,2,\n[{file,"src/mochijson2.erl"},{line,202}]},\n{mochijson2,'-json_encode_proplist/2-fun-',3,\n[{file,"src/mochijson2.erl"},{line,199}]},\n{lists,foldl,3,[{file,"lists.erl"},{line,1248}]},\n{mochijson2,json_encode_proplist,2,\n[{file,"src/mochijson2.erl"},{line,202}]},\n{mochijson2,'-json_encode_array/2-fun-',3,\n[{file,"src/mochijson2.erl"},{line,189}]}]}}\n"}

我正在使用:

  • Ubuntu 14.04
  • Python 2.7.6
  • 花朵0.9.1
  • 芹菜4.0.2
  • RabbitMQ 3.6.6
  • Erlang/OTP 19

RabbitMQ管理插件已启用(RabbitMQ-plugins启用rabbitq_management)。

以下是rabbitmqctl状态的输出:

[{pid,28609},{running_applications,[{rabbitmq_management,"rabbitmq管理控制台","3.6.6"},{amqp_client,"RabbitMQ amqp客户端","3.6.6"},{rabbitmq_management_agent,"rabbitmq管理代理","3.6.6"},{rabbitmq_web_dispatch,"rabbitmq web Dispatcher","3.6.6"},{rabbit,"RabbitMQ","3.6.6"},{os_mon,"CPO CXC 138 46","2.4.1"},{webmachine,"webmachine","1.10.3"},{mochiweb,"MochiMedia Web服务器","2.13.1"},{ssl,"Erlang/OTP ssl应用程序","8.1"},{public_key,"公钥基础设施","1.3"},{crypto,"crypto","3.7.2"},{rabbit_common,[],"3.6.6"},{xmerl,"XML解析器","1.3.12"},{asn1,"ErlangASN1编译器4.0.4版","4.0.4"},{syntax_tools,"syntax-tools","2.1.1"},{mnesia,"mnesia CXC 138 12","4.14.2"},{编译器,"ERTS CXC 138 10","7.0.3"},{ranch,"TCP协议的套接字接受程序池。","1.2.1"},{inets,"inets CXC 138 49","6.3.4"},{sasl,"sasl CXC 138 11","3.0.2"},{stdlib,"ERTS CXC 138 10","3.2"},{kernel,"ERTS CXC 138 10","5.1.1"}]},{os,{unix,linux}},{erlang_version,"Erlang/OTP 19[erts-8.2][source][64 bit][smp:4][异步线程:64][内核轮询:true]\n"},{memory,{总计112070616},{connection_readers,471152},{connection_writers,171664},{connection_channels,494680},{connection_other,407232},{queue_procs,534792},{queue_slave_procs,0},{plugins,2121728},{other_proc12017232},{mnesia,93584},{mgmt_db5114688},{msg_index,49304},{other_ets,1902144},{binary,52694768},{代码24783822},{atom,1033401},{other_system,10180425}]]},{alerts,[]},{listeners,[{clustering,25672,"::"},}amqp,5672,":"}]},{vm_memory_high_watermark,0.4},{vm_memory_limit,6691391078},{disk_free_limit,50000000},{disk_free,59039645696},{file_descriptors,{total_limit,3996},{total_used,23},{sockets_limit,3594},{sockets_used,20}]]},{processes,[{limit,1048576},{used,454}]]},{run_queue,0},}正常运行时间,2498},〔kernel,{net_ticktime,60}〕

以下是我如何运行Celery:

启动3名芹菜工人:

celery worker -A celeryapp --config celeryconfig --workdir /proj -l DEBUG --soft-time-limit=3500 --time-limit=3600 --autoscale=2,1 -S /proj/states.db -s /proj/celerybeat-schedule.db -f /proj/logs/celery_worker_1_%n%I.log --pidfile /tmp/celery_w1.pid -n worker1@%d
celery worker -A celeryapp --config celeryconfig --workdir /proj -l DEBUG --soft-time-limit=3500 --time-limit=3600 --autoscale=2,1 -S /proj/states.db -s /proj/celerybeat-schedule.db -f /proj/logs/celery_worker_2_%n%I.log --pidfile /tmp/celery_w2.pid -n worker2@%d
celery worker -A celeryapp --config celeryconfig --workdir /proj -l DEBUG --soft-time-limit=3500 --time-limit=3600 --autoscale=2,1 -S /proj/states.db -s /proj/celerybeat-schedule.db -f /proj/logs/celery_worker_3_%n%I.log --pidfile /tmp/celery_w3.pid -n worker3@%d

启动芹菜节拍:

celery beat -A celeryapp --config celeryconfig --workdir /proj -l DEBUG -s /proj/celerybeat-schedule.db -f /proj/logs/celery_%n%I.log --pidfile /tmp/celery.pid

启动芹菜花:

celery flower -A celeryapp --workdir=/proj/ --broker=amqp://guest:guest@localhost:5672// --broker-api=http://guest:guest@localhost:15672/api/ --db=/proj/flower.db --logging=debug --basic-auth=guest:guest

我在RabbitMQ的Github问题中发布了这个问题,但被拒绝了

您的Elang版本有点旧。

使用上一个版本进行更新,管理UI需要一个新的Erlang版本

https://www.erlang-solutions.com/resources/download.html

wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install erlang

相关内容

  • 没有找到相关文章

最新更新