centos 安装rabbitmq遇见 Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces

在CentOS上安装RabbitMQ时遇到Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces的问题。通过安装Erlang RPM仓库,然后执行安装步骤,发现是权限错误。修改相应文件权限后,成功启动RabbitMQ服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos 安装rabbitmq

  • 首先安装erlang

下载rpm仓库:wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

安装rpm仓库 rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

安装erlang yum -y install erlang

安装完成后 运行erl -v
Erlang/OTP 20 [erts-9.3] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V9.3  (abort with ^G)
1>
  • 安装rabbitmq

下载页面 中选择

yum -y install 具体的版本号

  • 运行

systemctl start rabbitmq-server 出现下面问题 Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" f

stemctl status rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since Tue 2018-03-20 16:40:20 CST; 3s ago
  Process: 27573 ExecStop=/usr/sbin/rabbitmqctl shutdown (code=exited, status=78)
  Process: 27390 ExecStart=/usr/sbin/rabbitmq-server (code=exited, status=1/FAILURE)
 Main PID: 27390 (code=exited, status=1/FAILURE)

Mar 20 16:40:20 vdevops systemd[1]: Failed to start RabbitMQ broker.
Mar 20 16:40:20 vdevops systemd[1]: Unit rabbitmq-server.service entered failed state.
Mar 20 16:40:20 vdevops systemd[1]: rabbitmq-server.service failed.

查看具体错误

journalctl -xe
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: links: [<0.46.0>]
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: dictionary: []
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: trap_exit: true
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: status: running
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: heap_size: 610
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: stack_size: 27
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: reductions: 954
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: 2018-03-20 16:43:36 supervisor_report
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: supervisor: {local,net_sup}
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: errorContext: start_error
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: reason: {"Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces",[{auth,init_cookie,0,[{file,"auth.erl"},{li
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: offender: [{pid,undefined},{id,auth},{mfargs,{auth,start_link,[]}},{restart_type,permanent},{shutdown,2000},{child
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: 2018-03-20 16:43:36 supervisor_report
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: supervisor: {local,kernel_sup}
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: errorContext: start_error
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: reason: {shutdown,{failed_to_start_child,auth,{"Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces",[{aut
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: offender: [{pid,undefined},{id,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdo
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: 2018-03-20 16:43:36 crash_report
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: initial_call: {application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: pid: <0.35.0>
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: registered_name: []
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: error_info: {exit,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,auth,{"Error when rea
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: ancestors: [<0.34.0>]
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: message_queue_len: 1
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: messages: [{'EXIT',<0.36.0>,normal}]
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: links: [<0.34.0>,<0.33.0>]
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: dictionary: []
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: trap_exit: true
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: status: running
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: heap_size: 987
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: stack_size: 27
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: reductions: 250
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: 2018-03-20 16:43:36 std_info
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: application: kernel
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: exited: {{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,auth,{"Error when reading /var/
Mar 20 16:43:36 vdevops rabbitmq-server[1578]: type: permanent
Mar 20 16:43:37 vdevops rabbitmq-server[1578]: {"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_chi
Mar 20 16:43:37 vdevops rabbitmq-server[1578]: Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_chil
Mar 20 16:43:37 vdevops rabbitmq-server[1578]: Crash dump is being written to: /var/log/rabbitmq/erl_crash.dump...done
Mar 20 16:43:37 vdevops systemd[1]: rabbitmq-server.service: main process exited, code=exited, status=1/FAILURE
Mar 20 16:43:37 vdevops rabbitmqctl[1761]: 16:43:37.884 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:38 vdevops rabbitmqctl[1761]: 16:43:38.769 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:38 vdevops rabbitmqctl[1761]: 16:43:38.770 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:39 vdevops rabbitmqctl[1761]: 16:43:39.659 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:39 vdevops rabbitmqctl[1761]: 16:43:39.660 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:40 vdevops rabbitmqctl[1761]: 16:43:40.553 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:40 vdevops rabbitmqctl[1761]: 16:43:40.554 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:41 vdevops rabbitmqctl[1761]: 16:43:41.450 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:41 vdevops rabbitmqctl[1761]: 16:43:41.450 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:42 vdevops rabbitmqctl[1761]: 16:43:42.347 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:42 vdevops rabbitmqctl[1761]: 16:43:42.347 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:43 vdevops rabbitmqctl[1761]: 16:43:43.241 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
Mar 20 16:43:43 vdevops rabbitmqctl[1761]: 16:43:43.242 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces

错误日志显示访问问题,查询资料可能是权限问题。

chmod +x .erlang.cookie 重复上诉操作,错误改为:

Mar 20 16:54:59 vdevops rabbitmqctl[22540]: 16:54:59.815 [error] Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
Mar 20 16:54:59 vdevops rabbitmqctl[22540]: 16:54:59.815 [error] Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
Mar 20 16:55:00 vdevops rabbitmqctl[22540]: 16:55:00.721 [error] Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
Mar 20 16:55:00 vdevops rabbitmqctl[22540]: 16:55:00.722 [error] Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
Mar 20 16:55:01 vdevops rabbitmqctl[22540]: 16:55:01.632 [error] Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
Mar 20 16:55:01 vdevops rabbitmqctl[22540]: Distribution failed: {{:shutdown, {:failed_to_start_child, :auth, {'Cookie file /var/lib/rabbitmq/.erlang.cookie mus
Mar 20 16:55:01 vdevops systemd[1]: rabbitmq-server.service: control process exited, code=exited status=78
Mar 20 16:55:01 vdevops systemd[1]: Failed to start RabbitMQ broker.
-- Subject: Unit rabbitmq-server.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

修改权限

chown rabbitmq:rabbitmq .erlang.cookie
chmod 400 .erlang.cookie

再次运行,成功。

转载于:https://my.oschina.net/johnhjwsosd/blog/1647966

### 解决 RabbitMQErlang 无法通信的问题 当遇到 RabbitMQErlang 之间无法正常通信的情况时,通常是因为配置或权限设置不当所引起的。具体到错误提示 `Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces` 显示的是权限不足问题[^3]。 对于该特定错误,建议采取如下措施来解决问题: - **确认文件权限**:确保 `/var/lib/rabbitmq/.erlang.cookie` 文件拥有正确的访问控制列表 (ACL),即只有 rabbitmq 用户能够读写此文件。可以通过命令 `chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie` 来更改文件所属者,并通过 `chmod 400 /var/lib/rabbitmq/.erlang.cookie` 设置适当权限。 - **验证服务状态**:重启 RabbitMQ 服务以应用新的权限变更。可以使用命令 `systemctl restart rabbitmq-server.service` 完成操作。如果之前有其他未保存的工作,请先妥善处理后再执行重启动作。 另外,在 CentOS 8 上安装并配置 RabbitMQ 及其依赖项 Erlang 的过程中也需要注意一些细节[^1]。确保按照官方文档指导完成所有必要的步骤,比如启用管理插件以便于后续监控和维护工作,这一步骤可通过指令 `rabbitmq-plugins enable rabbitmq_management` 实现[^2]。 ```bash # 更改 cookie 文件所有权给 rabbitmq 用户 sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie # 修改 cookie 文件权限为只允许 rabbitmq 用户读取 sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie # 重新启动 RabbitMQ 服务使更改生效 sudo systemctl restart rabbitmq-server.service ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值