rabbitmq集群的配置过程:
1、在master节点:复制其cookie(/var/lib/rabbitmq/.erlang.cookie)至其他节点,要注意保持其权限为400;
2、各从节点:
1)停止应用: rabbitmqctl stop_app
2)加入集群: rabbitmqctl join_cluster CLUSTER_NAME
3)启动应用:rabbitmqctl start_app
备注:该文操作环境是在Centos7.6下
将节点1加入节点2所在集群报错:
查看是否能ping通节点2以及节点2的4369端口是否有打开
后来发现节点2的防火墙没有关,遂关闭firewalld
[root@Centos02 yum.repos.d]# systemctl stop firewalld
在节点1上重新尝试join_cluster加入集群,还是报错,不过此时tcp连接已建立;
提示有可能是hostname不匹配或者cookie不对,这里我的hostname是对的,接下来查看俩节点的cookie,将节点1的.erlang.cookie中字符串修改为节点2的,重新join_cluster,大功告成!
[root@Centos01 ~]# systemctl stop rabbitmq-server
[root@Centos01 ~]# vi /var/lib/rabbitmq/.erlang.cookie 或者[root@Centos02 yum.repos.d]# scp /var/lib/rabbitmq/.erlang.cookie Centos01:/var/lib/rabbitmq/.erlang.cookie
[root@Centos01 ~]# systemctl start rabbitmq-server
[root@Centos01 ~]# rabbitmqctl stop_app
Stopping node rabbit@Centos01 ...
...done.
[root@Centos01 ~]# rabbitmqctl join_cluster rabbit@Centos02
Clustering node rabbit@Centos01 with rabbit@Centos02 ...
...done.
此类报错一般从以下方面入手:
1,rabbit主服务没有启动
2,节点的hostname与hosts文件解析的不一致
3,节点的端口没有打开,需要打开5672/15672/25672/4369,可ss -tnl查看下
4、各节点的cookie不一致,可cat /var/lib/rabbitmq/.erlang.cookie查看