繁体   English   中英

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

[英]RabbitMQ management API call failed: HTTP 500: Internal Server Error

我正在将Celery Flower和RabbitMQ用作消息代理。 但是我:gets讨厌的错误

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

每次我尝试在RabbitMQ管理界面( http:// localhost:15672 /#/ queues )或Celery Broker( http:// localhost:5555 / broker )上访问RabbitMQ队列时。

这是详细的日志信息:

=错误报告===== 2017年1月15日::: 23:12:19 ===网络计算机错误:path =“ / api / queues /%2F” {error,{error,function_clause,[{mochijson2,json_encode_string_unicode, [{error,[],<< 166,65,92,180,0,0,0,0,0 >>},{encoder,null,false},“”“],[{file,” src / mochijson2。 erl“},{line,274}]},{mochijson2,'-json_encode_proplist / 2-fun-0-',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-0-',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-0-',3,[{file,“ src / mochijson2.erl”},{line,189}]}}}}

RabbitMQ Web管理使我:

得到了响应代码500,正文为{“错误”:“内部服务器错误”,“原因”:“ {错误,{错误,function_clause,\\ n [{mochijson2,json_encode_string_unicode,\\ n [{错误,[],<< 166 ,65,92,180,0,0,0,0,0 >>},\\ n {encoder,null,false},\\ n“ \\”“],\\ n [{file,” src / mochijson2.erl“} ,{line,274}]},\\ n {mochijson2,'-json_encode_proplist / 2-fun-0-',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-0-',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-0-',3,\\ n [{file,” src / mochijson2.erl“},{line, 189}]}]}} \\ n“个}

我在用:

  • Ubuntu 14.04
  • Python 2.7.6
  • 花0.9.1
  • 芹菜4.0.2
  • 兔子MQ 3.6.6
  • Erlang / OTP 19

RabbitMQ管理插件已启用(rabbitmq-plugins启用rabbitmq_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,“ Erlang ASN1编译器版本4.0.4”,“ 4.0.4”},{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] [源代码] [64位] [smp:4:4] [异步线程:64] [内核轮询:true] \\ n”},{内存,[{总计,112070616},{connection_readers,471152},{connection_writers,171664},{connection_channels,494680},{connection_other,407232},{queue_procs,534792},{queue_slave_procs,0},{plugins,2121728},{other_proc,12017232 },{mnesia,93584},{mgmt_db,5114688},{msg_index,49304},{other_ets,1902144},{binary,52694768},{code,24783822},{atom,1033401},{other_system,10180425}] },{alarms,[]},{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}]},{进程,[{limit,1048576} ,{used,454}]},{run_queue,0},{uptime,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版本有点旧。

使用最新版本进行更新,管理界面需要新的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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM