前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RabbitMQ 监控6

RabbitMQ 监控6

作者头像
franket
发布2022-02-09 19:52:43
2330
发布2022-02-09 19:52:43
举报
文章被收录于专栏:技术杂记

同步 Erlang cookie

集群中node必须使用相同的cookie才能相互通讯

在Linux中cookie的位置一般在 /var/lib/rabbitmq/.erlang.cookie

代码语言:javascript
复制
[root@new-mq-node rabbitmq]# vim .erlang.cookie
[root@new-mq-node rabbitmq]# cat .erlang.cookie 
ABCDEFGGTESTGNUMPXYZ
[root@new-mq-node rabbitmq]# 

Note: 一定要确保所有node上的cookie内容相同,并且为所有者只读

报错

如果 .erlang.cookie 不为所有者只读,启动时会报如下错误

代码语言:javascript
复制
[root@new-mq-node rabbitmq]# ll .erlang.cookie 
-rw-r--r--   1 rabbitmq rabbitmq   21 Jan 13 14:08 .erlang.cookie
[root@new-mq-node rabbitmq]# /etc/init.d/rabbitmq-server  start 
Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}
rabbitmq-server.
[root@new-mq-node rabbitmq]# cd /var/log/rabbitmq/
[root@new-mq-node rabbitmq]# ls
startup_err  startup_log
[root@new-mq-node rabbitmq]# tail startup_err 

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]\}\}})
[root@new-mq-node rabbitmq]# tail startup_log 
{error_logger,\{\{2016,1,13},{14,22,17\}\},"Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only",[]}
{error_logger,\{\{2016,1,13},{14,22,17\}\},crash_report,[[{initial_call,{auth,init,['Argument__1']\}\},{pid,<0.19.0>},{registered_name,[]},{error_info,{exit,{"Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only",[{auth,init_cookie,0},{auth,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]\}\},{ancestors,[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[<0.17.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,987},{stack_size,24},{reductions,428}],[]]}
{error_logger,\{\{2016,1,13},{14,22,17\}\},supervisor_report,[{supervisor,{local,net_sup\}\},{errorContext,start_error},{reason,{"Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only",[{auth,init_cookie,0},{auth,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]\}\},{offender,[{pid,undefined},{name,auth},{mfargs,{auth,start_link,[]\}\},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,\{\{2016,1,13},{14,22,17\}\},supervisor_report,[{supervisor,{local,kernel_sup\}\},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]\}\},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,\{\{2016,1,13},{14,22,17\}\},std_info,[{application,kernel},{exited,{shutdown,{kernel,start,[normal,[]]\}\}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]\}\}}"}
[root@new-mq-node rabbitmq]#

解决办法是修改权限成为 -r--------

代码语言:javascript
复制
[root@new-mq-node rabbitmq]# chmod 400 .erlang.cookie 
[root@new-mq-node rabbitmq]# ll .erlang.cookie 
-r-------- 1 rabbitmq rabbitmq 21 Jan 13 14:08 .erlang.cookie
[root@new-mq-node rabbitmq]# 

再次尝试就能成功启动

代码语言:javascript
复制
[root@new-mq-node rabbitmq]# /etc/init.d/rabbitmq-server  start 
Starting rabbitmq-server: SUCCESS
rabbitmq-server.
[root@new-mq-node rabbitmq]# /etc/init.d/rabbitmq-server  status
Status of node 'rabbit@new-mq-node' ...
...
...
[root@new-mq-node rabbitmq]# netstat  -ant | grep 5672
tcp        0      0 0.0.0.0:25672               0.0.0.0:*                   LISTEN      
tcp        0      0 :::5672                     :::*                        LISTEN      
[root@new-mq-node rabbitmq]#

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 同步 Erlang cookie
    • 报错
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档