windows 下安装 rabbitmq报init terminating in do_boot错误
2017-03-19 21:25 muzinian 阅读(10527) 评论(0) 编辑 收藏 举报好长时间没有写东西了,记一个安装笔记吧。
目前市面上比较常用的几个消息中间件,rabbitmq算是风评比较好的,所以就拿来安装一下玩玩喽(很有可能也仅限于是安装一下。。。。)安装过程不表,无非是下载Erlang和RabbitMQ然后就是windows下的无脑装了。不过,这里需要注意下,最好这两个软件都不要安装在默认的program files的文件夹下(无论有没有带x86)应为那个万恶的空格,很容易会出莫名其妙的问题。然后就是安装完成启动,愉快的玩耍了,如果你真的可以愉快的玩耍了,估计也不会搜这个问题了。。。。
按照安装手册安装完成后,一般来说,rabbitmq会以windows 服务的形式运行,然后使用相关命令行可以操作。但是,在我安装完成之后,始终无法启动成功,使用rabbitmqctl.bat这个查看状态回报如下错误:
{"init terminating in do_boot",{badarg,[{io,format,[<0.53.0>,"~n~nBOOT FAILED~n===========~n~nError description:~n ~p~n~nLog files (may contain more information):~n ~s~n ~s~n~n",[{could_not_start,rabbit,{badarg,[{io,format,[<0.135.0>,"~n ~s ~s. ~s~n ## ## ~s~n ## ##~n ########## Logs: ~s~n ###### ## ~s~n ##########~n Starting broker...~n",["RabbitMQ","3.6.6","Copyright (C) 2007-2016 Pivotal Software, Inc.","Licensed under the MPL. See http://www.rabbitmq.com/",[67,58,47,85,115,101,114,115,47,27494,24198,36229,47,65,112,112,68,97,116,97,47,82,111,97,109,105,110,103,47,82,97,98,98,105,116,77,81,47,108,111,103,47,82,65,66,66,73,84,126,49,46,76,79,71],[67,58,47,85,115,101,114,115,47,27494,24198,36229,47,65,112,112,68,97,116,97,47,82,111,97,109,105,110,103,47,82,97,98,98,105,116,77,81,47,108,111,103,47,82,65,66,66,73,84,126,50,46,76,79,71]]],[]},{rabbit,start,2,[{file,"src/rabbit.erl"},{line,683}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,273}]}]}},[67,58,47,85,115,101,114,115,47,27494,24198,36229,47,65,112,112,68,97,116,97,47,82,111,97,109,105,110,103,47,82,97,98,98,105,116,77,81,47,108,111,103,47,82,65,66,66,73,84,126,49,46,76,79,71],[67,58,47,85,115,101,114,115,47,27494,24198,36229,47,65,112,112,68,97,116,97,47,82,111,97,109,105,110,103,47,82,97,98,98,105,116,77,81,47,108,111,103,47,82,65,66,66,73,84,126,50,46,76,79,71]]],[]},{rabbit,log_boot_error_and_exit,3,[{file,"src/rabbit.erl"},{line,742}]},{rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,407}]},{init,start_em,1,[{file,"init.erl"},{line,1076}]},{init,do_boot,3,[{file,"init.erl"},{line,784}]}]}}
大差不差就这些东西,网上多个方法都是说安装路径不能有non-ASCII字符,但是我在确定了安装路径上确实没有乱七八糟的字符后,怀疑是RabbitMQ在启动时可能会使用到文件路径有non-ASCII字符。果不其然,通过官方文档查看,如果没有设置环境变量,Rabbitmq会使用一些默认的环境变量。在这个默认路径里面,我的电脑里面的路径有中文,所以没有成功启动。可以通过设置RABBITMQ_BASE这个变量来改变文件存放路径。
我们可以在rabbitmq-env.bat这个文件里面看到有注释显示了RABBITMQ_BASE不能含有non-ASCII字符:
REM Make sure $RABBITMQ_BASE contains no non-ASCII characters. if not exist "!RABBITMQ_BASE!" ( mkdir "!RABBITMQ_BASE!" )
所以,搞IT的,文件路径全英文很重要啊。