RabbitMQ集群安装

约定不等于承诺〃 2024-04-18 20:32 134阅读 0赞

首先参考上一篇文章【CentsOS原生RabbitMQ安装过程】在两到三台机器上先安装单独的RabbitMQ节点

修改一下hostname

  1. [root@rnode1 ~]# vim /etc/hosts
  2. 172.16.20.110 rnode1
  3. 172.16.20.111 rnode2
  4. 172.16.20.112 rnode3

erlang节点之间通信需要相同的cookie文件,将其中一个机器上的cookie文件copy到另外两个机器

  1. scp /var/lib/rabbitmq/.erlang.cookie rnode2:/var/lib/rabbitmq
  2. scp /var/lib/rabbitmq/.erlang.cookie rnode3:/var/lib/rabbitmq

首先在rnode1上观察一下节点状态如下

  1. [root@rnode1 ~]# rabbitmqctl cluster_status
  2. Cluster status of node rabbit@rnode1
  3. [{nodes,[{disc,[rabbit@rnode1]}]},
  4. {running_nodes,[rabbit@rnode1]},
  5. {cluster_name,<<"rabbit@rnode1">>},
  6. {partitions,[]},
  7. {alarms,[{rabbit@rnode1,[]}]}]

分别在rnode2、rnode3上执行以下命令使其与rnode1组成集群

  1. [root@rnode2 ~]# rabbitmqctl stop_app
  2. Stopping rabbit application on node rabbit@rnode2
  3. [root@rnode2 ~]# rabbitmqctl join_cluster --ram rabbit@rnode1
  4. Clustering node rabbit@rnode2 with rabbit@rnode1
  5. [root@rnode2 ~]# rabbitmqctl start_app
  6. Starting node rabbit@rnode2

随便选择一台集群观察节点状态发现集群已经搭建完毕

  1. [root@rnode3 ~]# rabbitmqctl cluster_status
  2. Cluster status of node rabbit@rnode3
  3. [{nodes,[{disc,[rabbit@rnode1]},{ram,[rabbit@rnode3,rabbit@rnode2]}]},
  4. {running_nodes,[rabbit@rnode2,rabbit@rnode1,rabbit@rnode3]},
  5. {cluster_name,<<"rabbit@rnode1">>},
  6. {partitions,[]},
  7. {alarms,[{rabbit@rnode2,[]},{rabbit@rnode1,[]},{rabbit@rnode3,[]}]}]

安装过程中可能会出现如下问题

  1. [root@rnode1 ~]# rabbitmqctl status
  2. Status of node rabbit@rnode1
  3. Error: unable to connect to node rabbit@rnode1: nodedown
  4. DIAGNOSTICS
  5. ===========
  6. attempted to contact: [rabbit@rnode1]
  7. rabbit@rnode1:
  8. * connected to epmd (port 4369) on rnode1
  9. * epmd reports: node 'rabbit' not running at all
  10. no other nodes on rnode1
  11. * suggestion: start the node
  12. current node details:
  13. - node name: 'rabbitmq-cli-01@rnode1'
  14. - home dir: /var/lib/rabbitmq
  15. - cookie hash: DGMyi0De4NLhiCnlJmHsTg==

此问题停止RabbitMQ的服务再重新启动即可解决

  1. rabbitmq-server stop
  2. rabbitmq-server -detached

发表评论

表情:
评论列表 (有 0 条评论,134人围观)

还没有评论,来说两句吧...

相关阅读

    相关 RabbitMQ

    RabbitMQ集群 在RabbitMQ集群里,运行时状态包含交换器、队列、绑定器、用户、虚拟主机以及策略,它们对所有节点都可用。 这种共享运行时状态的特性,使得集群

    相关 RabbitMQ安装

    一、准备两台虚拟机 1、设置一台的别名为A,:`vi /etc/hostname` 2、设置另一台的别名为B:`vi /etc/hostname` 3、修改每一个虚

    相关 RabbitMQ

    一、RabbitMQ集群概述 rabbitmq有三种模式:单机模式,普通集群模式,镜像集群模式 1、单机模式: 本地测试用、生产环境不会用 2、普通集

    相关 rabbitmq简介

    rabbitmq自带内建集群,其旨在rabbitmq的高可用,允许消费者和生产者在rabbitmq节点崩溃的情况下继续运行,以及通过添加更多节点的方式来线性扩展消息的吞吐量。但