- 服务列表
ip | hostname |
---|---|
192.168.56.100 | master01 |
192.168.56.101 | node01 |
- 以下2个节点都需要操作
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
yum install -y erlang
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
rpm --import https://packagecloud.io/gpg.key
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
yum install rabbitmq-server -y
#可以修改默认的数据目录(可不修改,本实验未修改)
mkdir -pv /epailive/data/rabbitmq && chown -R rabbitmq:rabbitmq /epailive/data/rabbitmq
cat >/etc/rabbitmq/rabbitmq-env.conf <<EOF
RABBITMQ_LOG_BASE=/epailive/data/rabbitmq/log
RABBITMQ_MNESIA_BASE=/epailive/data/rabbitmq/mnesia
EOF
#启动 加载插件
systemctl start rabbitmq-server && systemctl enable rabbitmq-server && rabbitmq-plugins enable rabbitmq_management
#设置用户名密码:
rabbitmqctl add_user manager TSVVXzXiXF4
rabbitmqctl set_user_tags manager administrator
rabbitmqctl set_permissions -p / manager ".*" ".*" ".*"
#确认192.168.56.100:15672、192.168.56.101:15672能登录打开就可以
- 文件同步(注意:.erlang.cookie为隐藏文件,需要使用 -a 查看)
选择master01为master,也就是说我们需要把node01的Cookie文件同步到master01节点上去
#master01上操作:
scp /var/lib/rabbitmq/.erlang.cookie root@node01:/var/lib/rabbitmq/
- join集群
#node01上操作
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@master01
rabbitmqctl start_app
rabbitmqctl cluster_status
-
配置镜像队列
设置镜像队列策略(在任意一个节点上执行)rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
-
从节点上操作,移除node01节点
systemctl stop rabbitmq-server
rabbitmqctl -n rabbit@master01 forget_cluster_node rabbit@node01
再加入集群的时候报这个错,原因是: 主机集群认为该节点仍在集群中, 而该节点实际上退出集群了。 导致数据文件日志不一致,而无法加入集群。
解决方法:
删除 /epailive/data/rabbitmq/mnesia
更多精彩关注公众号“51运维com” 和
个人博客