RabbitMQ在启动时失败- Erlang分发错误- Mac

w6mmgewl  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(2)|浏览(773)

当我键入rabbitmq-server时,它失败,并显示以下错误消息。
当我使用brew services start rabbitmq时,它的响应是“* successfully started rabbitmq*”,但当我输入rabbitmqctl help时,在长时间的停顿(大约2分钟)后,它返回了大约相同的错误(更少的文本)。
rabbitmq-server的部分响应:

2022-08-12 20:10:04.756965+02:00 [notice] <0.145.0> Protocol 'inet_tcp': register/listen error: etimedout
2022-08-12 20:10:04.756965+02:00 [notice] <0.145.0> 
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>     supervisor: {local,net_sup}
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>     errorContext: start_error
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>     reason: {'EXIT',nodistribution}
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>     offender: [{pid,undefined},
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                {id,net_kernel},
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                {mfargs,{net_kernel,start_link,
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                                    [#{clean_halt => false,
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                                       name => rabbit_prelaunch_3696@localhost,
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                                       name_domain => shortnames,
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                                       net_tickintensity => 4,
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                                       net_ticktime => 60,
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                                       supervisor => net_sup_dynamic}]}},
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                {restart_type,permanent},
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                {significant,false},
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                {shutdown,2000},
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0>                {child_type,worker}]
2022-08-12 20:10:04.764490+02:00 [error] <0.142.0> 

2022-08-12 20:10:04.773521+02:00 [error] <0.130.0> 
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0> BOOT FAILED
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0> ===========
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0> Exception during startup:
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0> 
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0> error:{badmatch,{error,{{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}},{child,undefined,net_sup_dynamic,{erl_distribution,start_link,[#{clean_halt => false,name => rabbit_prelaunch_3696@localhost,name_domain => shortnames,net_tickintensity => 4,net_ticktime => 60,supervisor => net_sup_dynamic}]},permanent,false,1000,supervisor,[erl_distribution]}}}}
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0> 
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0>     rabbit_prelaunch_dist:duplicate_node_check/1, line 80
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0>     rabbit_prelaunch_dist:setup/1, line 23
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0>     rabbit_prelaunch:do_run/0, line 115
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0>     rabbit_prelaunch:run_prelaunch_first_phase/0, line 32
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0>     supervisor:do_start_child_i/3, line 414
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0>     supervisor:do_start_child/2, line 400
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0>     supervisor:-start_children/2-fun-0-/3, line 384
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0>     supervisor:children_map/4, line 1250
2022-08-12 20:10:04.773521+02:00 [error] <0.130.0> 
BOOT FAILED

它以以下内容结束:Crash dump is being written to: erl_crash.dump...done
但到目前为止我还没能找到这个文件。在整个系统上使用终端查找命令也无济于事。
我从rabbitmqctl help得到的响应(在用homebrew初始化它之后):

20:04:53.162 [error] rabbit_env: Failed to setup distribution (as rabbit_ctl_46@localhost) to query node rabbit@localhost: {:error,
 {{:shutdown, {:failed_to_start_child, :net_kernel, {:EXIT, :nodistribution}}},
  {:child, :undefined, :net_sup_dynamic,
   {:erl_distribution, :start_link,
    [
      %{
        clean_halt: false,
        name: :rabbit_ctl_46@localhost,
        name_domain: :shortnames,
        net_tickintensity: 4,
        net_ticktime: 60,
        supervisor: :net_sup_dynamic
      }
    ]}, :permanent, false, 1000, :supervisor, [:erl_distribution]}}}

关于设置:MacOS,自制安装开箱即用。RabbitMQ 3.10.7 Erlang 25.0.3
我最近第一次安装RabbitMQ,只用于一些测试,没有(手动)配置。现在,一周后它无法启动。我已经重新安装了它,使用自制软件,希望这会有帮助,但没有运气。
有什么想法吗?
根据我读到的帖子,我猜这和Erlang发行版有关。但是这是一个非常粗略的猜测,我已经超出了我的能力范围。

ssm49v7z

ssm49v7z1#

我在这个Erlang forum上收到了一个建议,rabbbitmq使用的(必需的)端口之一可能正在被其他一些程序使用。
我用了sudo lsof -i -n -P| grep TCP来查看使用的端口。让我惊讶的是使用的端口数量。最突出的4个服务,云存储,密码管理器,VPN,网络浏览器(分别为Mega,1password,Proton,Firefox)。乍一看,没有一个使用的端口与Rabbitmq网络列表匹配。尽管如此,我决定关闭Mega和1password(桌面应用程序和Firefox插件)。
令人惊讶的是,RabbitMQ工作!
rabbitmq-server和brew服务的两种方法都启动rabbitmq工作。
有趣的是,之后,我关闭了Rabbitmq,再次启动了Mega和1password,并重新启动了Rabbitmq,启动时没有任何错误。两次重启都没有让我再次陷入麻烦。这意味着我无法复制之前的问题。无论如何,我已经脱离了困境。

ih99xse1

ih99xse12#

更新-我又惹上麻烦了。
自从上次关闭Mega和1password后,问题似乎已经解决了,像一只训练有素的猴子,我关闭了Mega和1password,重新启动rabbitmq-服务器,期望已经解决了问题。
经过更多的挖掘,我找到了问题的真正根源。ProtonVPN提供了一个选项,要么阻止或允许局域网连接,同时保持VPN连接到外部世界。我通常有这个阻止。然而,本周早些时候我改变了它(为了与Raspberry pi建立ssh连接)我确信这是真正的问题,因为与上次不同,我能让自己陷入困境,然后又从困境中脱身。
目前我很困惑为什么这对rabbitmq有什么影响,但我想这已经超出了这个主题的范围。
我仍然困惑的是为什么这对rabbitmq有什么影响。

相关问题