admin管理员组

文章数量:1122852

RabbitMQ启动报错throw:{error,{missing

在启动 rabbitmq-server 时报错:

2018-01-03 06:16:32.494 [info] <0.33.0> Application lager started on node rabbit@ubuntu
2018-01-03 06:16:32.507 [info] <0.5.0> Log file opened with Lager
2018-01-03 06:16:33.438 [error] <0.5.0> 
Error description:init:do_boot/3init:start_em/1rabbit:start_it/1 line 454rabbit:broker_start/0 line 330rabbit_plugins:prepare_plugins/1 line 289rabbit_plugins:ensure_dependencies/1 line 263
throw:{error,{missing_dependencies,[crypto,ssl],[amqp10_client,cowboy,cowlib,rabbitmq_aws,rabbitmq_management,rabbitmq_management_agent,rabbitmq_shovel,rabbitmq_trust_store]}}
Log file(s) (may contain more information):/home/zhangcs/rabbitmq_server-3.7.2/var/log/rabbitmq/rabbit@ubuntu.log/home/zhangcs/rabbitmq_server-3.7.2/var/log/rabbitmq/rabbit@ubuntu_upgrade.log

根据异常提示,原先以为是缺少了OpenSSL,但是检查后发现OpenSSL已经成功安装

$ openssl version
OpenSSL 1.0.2g  1 Mar 2016

通过搜索引擎找了半天没收获,最后却在官网找到了相关信息:在 “Debian-based systems” 上,Erlang支持OpenSSL需要安装 erlang-ssl ;而我当前的系统 Ubuntu16.04TLS 正属于Debian系

If you receive an error instead, confirm that Erlang was built with OpenSSL. On Debian-based systems you may need to install the erlang-ssl package.

1、检查当前Erlang是否支持TSL/SSL

进入Erlang后使用命令 ssl:versions(). 检查当前SSL版本

zhangcs@ubuntu:~/rabbitmq_server-3.7.2$ erl
Erlang/OTP 20 [erts-9.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:10] [kernel-poll:false]Eshell V9.1  (abort with ^G)
1> ssl:versions().
** exception error: undefined function ssl:versions/0
2> halt().

2、安装 erlang-ssl 后问题解决

$ sudo apt install erlang-ssl

安装 erlang-ssl 后检查SSL版本

zhangcs@ubuntu:~/rabbitmq_server-3.7.2$ erl
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false]Eshell V7.3  (abort with ^G)
1> ssl:versions().
[{ssl_app,"7.3"},{supported,['tlsv1.2','tlsv1.1',tlsv1]},{available,['tlsv1.2','tlsv1.1',tlsv1,sslv3]}]
2> halt().

启动 rabbitmq-server 时不再报错

本文标签: RabbitMQ启动报错throwerrormissing