ubuntu EMQX启动失败

按照操作配置 EMQX APT 源并下载好EMQX后无法打开,显示报警

WARNING: Default (insecure) Erlang cookie is in use.
WARNING: Configure node.cookie in /etc/emqx/emqx.conf or override from environment variable EMQX_NODE__COOKIE
WARNING: NOTE: Use the same cookie for all nodes in the cluster.
ERROR: EMQX 5.2.0-build.1 using node name 'emqx@127.0.0.1' failed 120 probes.
Find more information in the latest log file: /var/log/emqx/erlang.log.*

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
这个报错信息表明EMQX启动失败,并且指出了一些警告和错误信息。让我们逐个解释并给出解决方案:

  1. WARNING: Default (insecure) Erlang cookie is in use.
    这个警告表示正在使用默认的不安全 Erlang Cookie。Erlang Cookie 用于节点之间的身份验证和通信。默认情况下,EMQX使用的 Erlang Cookie 不是安全的,因此建议你在配置文件中设置一个安全的 Erlang Cookie。

    解决方案:你需要编辑 /etc/emqx/emqx.conf 配置文件,将 node.cookie 设置为一个安全的随机字符串,例如:

    node.cookie = YOUR_SECURE_COOKIE
    

    保存并关闭文件后,重新启动 EMQX。

  2. ERROR: EMQX 5.2.0-build.1 using node name 'emqx@127.0.0.1' failed 120 probes.
    这个错误表示 EMQX 在指定的节点名称上启动失败。节点名称由 emqx@ 后面的 IP 地址或主机名组成。

    解决方案:可能是由于其他进程或节点正在使用相同的节点名称导致冲突。你可以尝试更改节点名称来解决冲突。编辑 /etc/emqx/emqx.conf 配置文件,将 node.name 设置为一个唯一的节点名称,例如:

    node.name = emqx@YOUR_UNIQUE_HOSTNAME
    

    保存并关闭文件后,重新启动 EMQX。

另外,你还可以查看 /var/log/emqx/erlang.log.* 文件,获取更多关于启动失败的详细日志信息,可能有助于进一步排查问题。

如果问题仍然存在,请提供更多详细信息,例如完整的错误日志内容和相关配置文件,以便更好地帮助你解决问题。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

引用 皆我百晓生 小程序回复内容作答:
在启动 EMQX 时,您遇到了一些警告和错误信息。以下是对这些信息的解释和可能的解决方法:

  1. 警告:Default (insecure) Erlang cookie is in use.
    这个警告表示您正在使用默认的 Erlang cookie,这是不安全的。Erlang cookie 用于节点之间的身份验证和通信。为了安全起见,建议您手动配置 EMQX 的 Erlang cookie。

解决方法:
在 /etc/emqx/emqx.conf 文件中配置 node.cookie,将其中的"YOUR_COOKIE"替换为您自己设定的安全的cookie。例如:

EMQX_NODE__COOKIE=your_cookie_here

然后重启 EMQX 服务。

  1. 错误:EMQX 5.2.0-build.1 using node name 'emqx@127.0.0.1' failed 120 probes.
    这个错误表示 EMQX 在使用节点名 'emqx@127.0.0.1' 启动时失败了 120 次探测。这可能是由于其他节点已经在使用相同的节点名或端口。

解决方法:

  • 检查是否已经运行了其他进程或实例,使用相同的节点名和端口。可以通过 ps -ef | grep emqx 命令来查看当前是否有其他 EMQX 实例运行。
  • 如果没有其他 EMQX 实例运行,可以尝试更改节点名或端口,编辑 /etc/emqx/emqx.conf 文件,将 node.name 和 node.port 更改为其他可用的值。保存文件后重启 EMQX。

此外,您还可以查看 /var/log/emqx/erlang.log.* 文件中的详细日志,以获取更多关于启动失败的信息。这个日志可能会提供更多有关问题的线索和解决方案。

你的问题与配置EMQX(一个开源的MQTT代理服务器)相关,特别是关于Erlang节点cookie的配置问题。

在Erlang中,cookie是一个用于节点间通信的加密字符串。默认情况下,如果Erlang节点没有设置cookie,将会使用一个不安全的默认cookie,这就是你看到的警告信息。

对于你的问题,你需要做的是在你的emqx.conf文件中设置一个cookie。你可以这样做:

打开emqx.conf文件。这个文件通常位于/etc/emqx/目录下。你可以使用一个文本编辑器打开这个文件,比如说,使用命令行工具nano,命令如下:


sudo nano /etc/emqx/emqx.conf

在文件中找到## ERLANG COOKIE部分,然后取消注释并修改node.cookie的值。例如,你可以设置一个名为my_cookie的cookie:


## ERLANG COOKIE  
node.cookie = my_cookie

保存并关闭文件。

重启EMQX服务以使更改生效。你可以使用以下命令来重启EMQX:


sudo systemctl restart emqx

还有可能是多种原因,包括但不限于配置文件错误、资源限制(如内存或CPU不足)、端口冲突等。

Erlang cookie 设置不正确,导致无法启动
打开 /etc/emqx/emqx.conf 文件,查找并设置 Erlang cookie。你可以在文件中搜索 node.cookie。

node.cookie = your_cookie_here

将 your_cookie_here 替换为你希望使用的 Erlang cookie。
保存并关闭 emqx.conf 文件。
重新启动 EMQX 服务,可以使用以下命令:

sudo systemctl restart emqx

或者你可以使用 emqx_ctl 命令来启动 EMQX:

sudo emqx_ctl start

确保所有节点在集群中都使用相同的 Erlang cookie,这样它们才能正常通信。如果你有多个 EMQX 节点,确保所有节点的配置文件都设置了相同的 Erlang cookie。

【以下回答由 GPT 生成】

解决方案:

根据问题描述,EMQX在Ubuntu上启动失败,出现了警告和错误消息。根据错误消息,我们需要解决以下两个问题:

  1. 警告:默认的Erlang cookie正在使用中。
  2. 错误:使用节点名'emqx@127.0.0.1'的EMQX 5.2.0-build.1失败120次探测。

下面是解决问题的步骤:

警告消息指出默认的Erlang cookie正在使用中,并建议在配置文件中配置node.cookie。

打开EMQX的配置文件 /etc/emqx/emqx.conf,并找到以下行:

##node.cookie = emqx2019

将其改为:

node.cookie = YOUR_UNIQUE_COOKIE

将YOUR_UNIQUE_COOKIE替换为一个唯一的,至少16个字符长的字符串。请确保在整个集群中所有节点都使用相同的cookie。

保存配置文件。

2. 检查EMQX节点名

错误消息指出使用节点名'emqx@127.0.0.1'的EMQX启动失败。

打开EMQX的配置文件 /etc/emqx/emqx.conf,找到以下行:

##node.name = emqx@127.0.0.1

确保节点名配置正确,即节点名应与实际主机名匹配。

保存配置文件。

3. 重启EMQX

以上更改后,可以尝试重新启动EMQX服务。

使用以下命令重启EMQX:

sudo service emqx restart

4. 检查日志文件

如果EMQX在重启后仍然无法启动,请查看错误消息中提到的日志文件 /var/log/emqx/erlang.log.*,并查找更多详细信息以定位问题。您可以使用以下命令打开该日志文件:

sudo tail -f /var/log/emqx/erlang.log

结论:

根据问题描述,通过配置Erlang cookie和节点名,重新启动EMQX服务,您应该能够成功解决EMQX在Ubuntu上启动失败的问题。如果问题仍然存在,请查看相关日志文件以获取更多详细信息。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

他让你查看一下LOGO,然后把log发出来看看。

参考结合GPT4.0、文心一言,如有帮助,恭请采纳。

WARNING: Default (insecure) Erlang cookie is in use.
WARNING: Configure node.cookie in /etc/emqx/emqx.conf or override from environment variable EMQX_NODE__COOKIE
WARNING: NOTE: Use the same cookie for all nodes in the cluster.
ERROR: EMQX 5.2.0-build.1 using node name 'emqx@127.0.0.1' failed 120 probes.
Find more information in the latest log file: /var/log/emqx/erlang.log.*
警告:默认(不安全)Erlang cookie正在使用中。
警告:在/etc/emqx/emqx.conf中配置node.cookie或从环境变量emqx_node_cookie重写
警告:注意:对群集中的所有节点使用相同的cookie。
错误:EMQX 5.2.0-build.1使用节点名'emqx@127.0.0.1'120个探测失败。
在最新的日志文件:/var/log/emqx/erlang.log中查找更多信息*

根据中文释义分析大都是关于Erlang 节点名的配置问题。
解题思路:
1、打开 /etc/emqx/emqx.conf 文件,找到 node.cookie 这一项,取消注释(如果已经被注释掉),并设置一个你的 Erlang cookie。这个 cookie 应该在所有节点中都是相同的。例如,你可以设置为:node.cookie = mycookie【注意:请将 mycookie 替换为你自己的 Erlang cookie。】
2、保存并关闭文件。
3、重启 EMQX 服务以使配置生效。这可以通过以下命令完成:sudo systemctl restart emqx

结合GPT给出回答如下请题主参考
根据提供的信息,首先需要检查生成的 Erlang Cookie 是否正确。Erlang Cookie 是用作 Erlang 节点间通信的安全凭据,如果不正确,则可能出现启动 EMQX 失败的情况。

可以通过以下命令检查 Erlang Cookie:

cat /var/lib/emqx/.erlang.cookie

确保 Erlang Cookie 和 EMQX 配置文件中的 Erlang Cookie 相同。

如果 Erlang Cookie 正确,可以检查 EMQX 的日志文件,查看更多错误信息和解决方法:

tail -f /var/log/emqx/error.log

还可以尝试重新启动 EMQX 服务:

sudo systemctl restart emqx

如果仍然无法启动 EMQX,可能需要检查 EMQX 的绑定 IP 和端口是否正确,并且确保所需的端口未被其他服务占用。

如果以上方法均不起作用,可以尝试使用以下命令卸载 EMQX,然后重新安装:

sudo apt-get remove emqx
sudo apt-get purge emqx
sudo apt-get install emqx

需要注意的是,在安装 EMQX 之前,要确保已经添加了正确的 EMQX APT 源。

一.启动失败
安装完毕后,到cmd窗口进入emqx的bin目录下,输入emqx.cmd start 启动后发现还是无法访问,这时查看端口占用情况发现默认端口18083 压根就没有启动,这时我们就需要去安装一个openssl的程序 openssl安装。
选择一个适合自己系统的软件包,下载后安装,这时我们再去启动emqx,看看端口是否被启动。

如果你启动后发现还是端口没有被启动的话不妨接着往下看。

二.版本问题
在上文中我也说到了,启动5.x会报出两串字符,但是启动4.x版本的时候并不会,这时我们就要考虑是不是版本的问题了,不要再纠结,直接换一个版本启动吧,如果你公司有硬性标准的话,那么就试试上一个方法是否对你有帮助。 (如果换成4.x还是无法没有端口起来的话,建议换成3.x试试😄)