环境:
3台 centos7.4 rabbitmq3.7 erlang 22

  1. 有几种方式安装,这里使用的yum安装(官方推荐)
  2. 使用rabbitmq时需要安装erlang,在各个节点上使用vim添加两个repo文件 /etc/yum.repos.d/rabbitmq_erlang.repo
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

/etc/yum.repos.d/rabbitmq.repo

[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
  1. 使用yum安装:yum install erlang rabbitmq-server -y
  2. 设置自启动:systemctl enable rabbitmq-server
  3. 每个节点都按2,3步骤安装完毕后开始搭建集群
  4. 先在一个节点里启动rabbitmq服务器:systemctl start rabbitmq-server
  5. 查看节点启动情况,active行为running则启动正常:systemctl status rabbitmq-server
  6. 默认路径/var/lib/rabbitmq/.erlang.cookie,复制这个文件到其他节点相同的目录:scp /var/lib/rabbitmq/.erlang.cookie root@server2:/var/lib/rabbitmq/
    复制的文件有权限问题,需要修改,如果不修改启动会报错: [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
    修改权限:chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
  7. 逐个节点启动rabbitmq服务器:ssh root@server2 "systemctl start rabbitmq-server"
  8. 集群配置:需要使用域名,修改/etc/hosts和/etc/hostname,把各个节点的域名,ip添加好
  9. 选择server1作为主节点,不需要操作,进入其他节点,执行关闭app:rabbitmqctl stop_app,然后执行加入集群:rabbitmqctl join_cluster rabbit@server1 server1根据自己取的名字更改,rabbit为固定用户名称
  10. 所有节点都执行完毕后,进入主节点,使用rabbitmqctl cluster_status查看集群状况,把各个节点都列出来即为成功。
  11. 移除节点:在某个节点里使用rabbitmqctl reset即可移除