一、rabbitMq安装
1、安装Erlang语言包
地址 :https://github.com/rabbitmq/erlang-rpm/releases
下载
rpm -ivh erlang-23.2.7-1.el7.x86_64.rpm
2、安装socat
yum install socat
3、安装RabbitMQ
地址 : https://github.com/rabbitmq/rabbitmq-server/releases
rpm -Uvh rabbitmq-server-3.9.15-1.el7.noarch.rpm
修改 vim /etc/hosts
ip rabbitmq1
# 设置名称
hostnamectl set-hostname rabbitmq1
4、启动rabbitMq服务
service rabbitmq-server start
5、添加web管理端
rabbitmq-plugins enable rabbitmq_management
6、默认只允许本地登录,设置一个管理员账号
rabbitmqctl add_user admin admin
rabbitmqctl set_permissions -p / admin "." "." ".*"
rabbitmqctl set_user_tags admin administrator
7、重新启动rabbitmq
service rabbitmq-server restart
二、普通集群搭建
1、每台机器都要 修改 vim /etc/hosts
ip rabbitmq1
ip rabbitmq2
ip rabbitmq3
# 设置名称
hostnamectl set-hostname rabbitmq1
如果前面设置了hostname可以跳过
如果有以下,要把这个删除这里
所有机器执行
#rabbitmq3更换为当前机器的hostname
echo 'NODENAME=rabbit@rabbitmq3' | sudo tee -a /etc/rabbitmq/rabbitmq-env.conf
service rabbitmq-server stop
kill掉
刷新 /etc/init.d/network restart
service rabbitmq-server start
2、在/var/lib/rabbitmq/目录下会生成一个.erlang.cookie
我们把rabbitmq1的.erlang.cookie发送给rabbitmq2和rabbitmq3
scp /var/lib/rabbitmq/.erlang.cookie root@ip:/var/lib/rabbitmq/.erlang.cookie
# 在另外2台服务器上执行
chmod 600 .erlang.cookie
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
3、rabbitmq1重新启动
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
4、另外2个机器执行
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@rabbitmq1
rabbitmqctl start_app
如果是云服务器记得开启5672,15672,25672端口
- 如果更换了hostname
需要重新设置用户名密码
rabbitmqctl add_user admin admin
rabbitmqctl set_permissions -p / admin "." "." ".*"
rabbitmqctl set_user_tags admin administrator
三、搭建镜像集群
rabbitmqctl add_vhost /名称
# "ha-mode":"all" 策略模式为all 复制到所有节点,"^"匹配所有队列
rabbitmqctl set_policy ha-all --vhost "名称" "^"
'{"ha-mode":"all"}'