由于楼主安装 RabbitMQ 时,先安装的 erlang ,
命令如下:
1. 下载 erlang 源码包
wget http://erlang.org/download/otp_src_22.0.tar.gz
2. 解压缩
tar -zxvf otp_src_22.0.tar.gz
3. 安装 erlang 编译依赖库
缺少这一步在 make 时候报错,会提示缺少库
yum install -y ncurses-base ncurses-devel ncurses-bin
yum install -y
4. 编译安装
./configure --prefix=/opt/software/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
make -j8
make install
5. 如上命令均执行成功之后,在 /opt/software/erlang 目录下,可以看到编译后的东西;如果没有,请检查上面操作中,是否都已经成功!
配置环境变量
vim ~/.bash_profile
source ~/.bash_profile
6. 检查安装
erl -v
如果能够成功执行,会看到如下信息,,则说明安装成功。
[ryan@test-008]$ erl -v
Erlang/OTP 22 [erts-10.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1]
Eshell V10.4 (abort with ^G)
1>
接下来,安装 RabbitMQ。
1. 下载 RabbitMQ
2. 解压缩
tar -xvf rabbitmq-server-generic-unix-3.6.15.tar.xz
3. 启动 RabbitMQ
sbin/rabbitmq-server --help
我的启动报如下错误:
[ryan@test-008 rabbitmq_server-3.6.15]$
BOOT FAILED
===========
Error description:
noproc
Log files (may contain more information):
/opt/software/rabbitmq_server-3.6.15/var/log/rabbitmq/rabbit@10-254-130-28.log
/opt/software/rabbitmq_server-3.6.15/var/log/rabbitmq/rabbit@10-254-130-28-sasl.log
Stack trace:
[{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
{gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
{rabbit,ensure_working_log_handlers,0,
[{file,"src/rabbit.erl"},{line,856}]},
{rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,288}]},
{rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},
{init,start_em,1,[]},
{init,do_boot,3,[]}]
=INFO REPORT==== 21-May-2019::08:41:05.456392 ===
Error description:
noproc
Log files (may contain more information):
/opt/software/rabbitmq_server-3.6.15/var/log/rabbitmq/rabbit@10-254-130-28.log
/opt/software/rabbitmq_server-3.6.15/var/log/rabbitmq/rabbit@10-254-130-28-sasl.log
Stack trace:
[{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
{gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
{rabbit,ensure_working_log_handlers,0,
[{file,"src/rabbit.erl"},{line,856}]},
{rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,288}]},
{rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},
{init,start_em,1,[]},
{init,do_boot,3,[]}]
{"init terminating in do_boot",noproc}
init terminating in do_boot (noproc)
Crash dump is being written to: erl_crash.dump...done
从这里的提示信息, noproc 我猜测了一下,应该是 erlang 版本和 RabbitMQ 版本不一致。于是上官方网站上查了一下:
(官方地址:https://www.rabbitmq.com/which-erlang.html)
果然, 我下载的 RabbitMQ 版本是 3.6.15, 而 erlang 的版本是 22.0 ,果断换版本,上面的安装过程不变,只是重新下载 erlang 版本为 20.3 而已。
最终完美解决!