今天,由于RabbitMQ服务崩溃,一位真正的系统工程师同事感到非常沮丧。我想它崩溃是因为没有足够的磁盘空间。
这是崩溃日志:
=ERROR REPORT====
** Generic server rabbit_mgmt_external_stats terminating
** Last message in was emit_update
** When Server state == {state,8192,[{{io_file_handle_open_attempt,count},417},{{io_file_handle_open_attempt,time},46000},{{io_read,bytes},8007147},{{io_read,count},55},{{io_read,time},93000},{{io_reopen,count},0},{{io_seek,count},59},{{io_seek,time},16000},{{io_sync,count},78},{{io_sync,time},2234995},{{io_write,bytes},109786},{{io_write,count},78},{{io_write,time},1258997},{{mnesia_disk_tx,count},61},{{mnesia_ram_tx,count},683},{{msg_store_read,count},0},{{msg_store_write,count},0},{{queue_index_journal_write,count},91},{{queue_index_read,count},15},{{queue_index_write,count},21}],{set,0,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},undefined,5000}
** Reason for termination ==
** {eacces,[{erlang,open_port,[{spawn,"C:\\Windows\\system32\\cmd.exe /c handle.exe /accepteula -s -p 3660 2> nul"},[binary,stderr_to_stdout,stream,in,hide]],[{file,"erlang.erl"},{line,2213}]},{os,cmd,2,[{file,"os.erl"},{line,275}]},{rabbit_mgmt_external_stats,get_used_fd,1,[{file,"src/rabbit_mgmt_external_stats.erl"},{line,137}]},{rabbit_mgmt_external_stats,get_used_fd,0,[{file,"src/rabbit_mgmt_external_stats.erl"},{line,65}]},{rabbit_mgmt_external_stats,'-infos/2-lc$^0/1-0-',2,[{file,"src/rabbit_mgmt_external_stats.erl"},{line,181}]},{rabbit_mgmt_external_stats,emit_update,1,[{file,"src/rabbit_mgmt_external_stats.erl"},{line,370}]},{rabbit_mgmt_external_stats,handle_info,2,[{file,"src/rabbit_mgmt_external_stats.erl"},{line,357}]},{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,637}]}]}
RabbitMQ专家是否可以启发我上述崩溃转储的含义?我看到很多IO
操作,并且由于硬盘快满了,我认为崩溃是由于磁盘空间引起的?有更多RabbitMQ知识的人可以确认这一点吗?
我还有一个问题是,谁负责确保RabbitMQ正常运行(故障转移方案,高可用性等)?这些不是系统工程师要考虑的话题吗?