阿里云ECS上的RabbitMQ启动失败的排查

前段时间趁着双十二,买了个阿里云服务器(CentOS 7.6 64位),今天在上面安装了RabbitMQ的时候,发现无论如何都启动不成功,错误信息大致如下:

=INFO REPORT==== 27-Dec-2019::15:14:41 ===
    application: sasl
    exited: {bad_return,
                {{sasl,start,[normal,[]]},
                 {'EXIT',
                     {undef,
                         [{sasl,start,[normal,[]],[]},
                          {application_master,start_it_old,4,
                              [{file,"application_master.erl"},
                               {line,269}]}]}}}}
    type: permanent
{"Kernel pid terminated",application_controller,"{application_start_failure,sasl,{bad_return,{{sasl,start,[normal,[]]},{'EXIT',{undef,[{sasl,start,[normal,[]],[]},{application_master,start_it_old,4,[{file,\"application_master.erl\"},{line,269}]}]}}}}}"}

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,sasl,{bad_return,{{sasl,start,[normal,[]]},{'EXIT',{undef,[{sasl,start,[normal,[]],[]},{application_master,start_it_old,4,[

在网上找了很多资料,试着重新安装了erlang、OpenSSL、RabbitMQ几次都无果。后来仔细查看erl命令输出的信息,发现和我以前在VMware上安装的erlang的输出信息不一致(前面的是在ECS上输出的信息,后面的是以前我在VMware上安装erlang后使用erl命令输出的信息):

[root@wuychn local]# erl
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V5.10.4  (abort with ^G)
1>
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V9.0  (abort with ^G)
1>

仔细查看,发现VMware上输出的是Erlang/OTP 20,而ECS上输出的是Erlang R16B03-1,而我明明安装的是OTP 20.0!于是猜测可能是ECS中默认的erlang引起的。通过如下命令查看ECS中默认的erlang:

 yum list | grep erlang

结果如下:

emacs-erlang.noarch                     R16B-03.18.el7                 epel
emacs-erlang-el.noarch                  R16B-03.18.el7                 epel
erlang.x86_64                           R16B-03.18.el7                 epel
erlang-appmon.x86_64                    R16B-03.18.el7                 epel
erlang-asn1.x86_64                      R16B-03.18.el7                 epel
erlang-common_test.x86_64               R16B-03.18.el7                 epel
erlang-compiler.x86_64                  R16B-03.18.el7                 epel
erlang-cosEvent.x86_64                  R16B-03.18.el7                 epel
erlang-cosEventDomain.x86_64            R16B-03.18.el7                 epel
erlang-cosFileTransfer.x86_64           R16B-03.18.el7                 epel
erlang-cosNotification.x86_64           R16B-03.18.el7                 epel
erlang-cosProperty.x86_64               R16B-03.18.el7                 epel
erlang-cosTime.x86_64                   R16B-03.18.el7                 epel
erlang-cosTransactions.x86_64           R16B-03.18.el7                 epel
erlang-crypto.x86_64                    R16B-03.18.el7                 epel
erlang-debugger.x86_64                  R16B-03.18.el7                 epel
erlang-dialyzer.x86_64                  R16B-03.18.el7                 epel
erlang-diameter.x86_64                  R16B-03.18.el7                 epel
erlang-doc.noarch                       R16B-03.18.el7                 epel
erlang-edoc.x86_64                      R16B-03.18.el7                 epel
erlang-edown.x86_64                     0.4-1.el7                      epel
erlang-eldap.x86_64                     R16B-03.18.el7                 epel
erlang-emmap.x86_64                     0-0.11.git05ae1bb.el7          epel
erlang-epgsql.x86_64                    1.4-2.el7                      epel
erlang-eradius.x86_64                   0.8.7-6.el7                    epel
erlang-erl_docgen.x86_64                R16B-03.18.el7                 epel
erlang-erl_interface.x86_64             R16B-03.18.el7                 epel
erlang-erlando.x86_64                   2.8.7-4.gite3f115b.el7         epel
erlang-erlsom.x86_64                    1.2.1-12.20120904gitdef76b9.el7
erlang-erlsyslog.x86_64                 0.6.2-8.el7                    epel
erlang-erts.x86_64                      R16B-03.18.el7                 epel
erlang-et.x86_64                        R16B-03.18.el7                 epel
erlang-eunit.x86_64                     R16B-03.18.el7                 epel
erlang-examples.x86_64                  R16B-03.18.el7                 epel
erlang-gs.x86_64                        R16B-03.18.el7                 epel
erlang-hipe.x86_64                      R16B-03.18.el7                 epel
erlang-ibrowse.x86_64                   4.0.1-1.el7                    epel
erlang-ic.x86_64                        R16B-03.18.el7                 epel
erlang-inets.x86_64                     R16B-03.18.el7                 epel
erlang-jiffy.x86_64                     0.8.5-3.el7                    epel
erlang-jinterface.x86_64                R16B-03.18.el7                 epel
erlang-kernel.x86_64                    R16B-03.18.el7                 epel
erlang-meck.x86_64                      0.7.2-5.el7                    epel
erlang-megaco.x86_64                    R16B-03.18.el7                 epel
erlang-mnesia.x86_64                    R16B-03.18.el7                 epel
erlang-oauth.x86_64                     1.4.0-1.el7                    epel
erlang-observer.x86_64                  R16B-03.18.el7                 epel
erlang-odbc.x86_64                      R16B-03.18.el7                 epel
erlang-orber.x86_64                     R16B-03.18.el7                 epel
erlang-os_mon.x86_64                    R16B-03.18.el7                 epel
erlang-otp_mibs.x86_64                  R16B-03.18.el7                 epel
erlang-parsetools.x86_64                R16B-03.18.el7                 epel
erlang-percept.x86_64                   R16B-03.18.el7                 epel
erlang-pman.x86_64                      R16B-03.18.el7                 epel
erlang-public_key.x86_64                R16B-03.18.el7                 epel
erlang-rebar.x86_64                     2.1.0-0.2.el7                  epel
erlang-reltool.x86_64                   R16B-03.18.el7                 epel
erlang-rpm-macros.noarch                0.1.4-1.el7                    epel
erlang-runtime_tools.x86_64             R16B-03.18.el7                 epel
erlang-sasl.x86_64                      R16B-03.18.el7                 epel
erlang-sd_notify.x86_64                 0.1-1.el7                      epel
erlang-skerl.x86_64                     1.1.0-10.el7                   epel
erlang-snappy.x86_64                    1.0.3-0.4.git80db168.el7       epel
erlang-snmp.x86_64                      R16B-03.18.el7                 epel
erlang-ssh.x86_64                       R16B-03.18.el7                 epel
erlang-ssl.x86_64                       R16B-03.18.el7                 epel
erlang-stdlib.x86_64                    R16B-03.18.el7                 epel
erlang-syntax_tools.x86_64              R16B-03.18.el7                 epel
erlang-test_server.x86_64               R16B-03.18.el7                 epel
erlang-toolbar.x86_64                   R16B-03.18.el7                 epel
erlang-tools.x86_64                     R16B-03.18.el7                 epel
erlang-tv.x86_64                        R16B-03.18.el7                 epel
erlang-typer.x86_64                     R16B-03.18.el7                 epel
erlang-webtool.x86_64                   R16B-03.18.el7                 epel
erlang-wx.x86_64                        R16B-03.18.el7                 epel
erlang-xmerl.x86_64                     R16B-03.18.el7                 epel
erlang-xmlrpc.x86_64                    1.13-6.el7                     epel
xemacs-erlang.noarch                    R16B-03.18.el7                 epel
xemacs-erlang-el.noarch                 R16B-03.18.el7                 epel

卧槽,这都是啥玩意儿啊!果断全部卸载,命令如下:

yum remove erlang-*

之后执行erl发现找不到命令,这个简单,执行:

source /etc/profile

再次执行erl:

Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V9.0  (abort with ^G)
1>

现在erlang已经时我自己安装的erlang了。然后启动RabbitMQ成功!

发布了114 篇原创文章 · 获赞 91 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qmqm011/article/details/103733146
今日推荐