单机模式
1.环境配置
组件 | 版本 |
centos | 7.3 |
erlang | 22.3.4.19 |
rabbitmq | 3.8.15 |
rabbitmq是用erlang编写的,安装时两个组件的版本要一致。每个版本的对应关系,可以参考该地址:https://www.rabbitmq.com/which-erlang.html
本次安装包对应下载地址:
rabbitmq:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.15
erlang:https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-22.3.4.19-1.el7.x86_64.rpm
2.安装erlang
rpm -ivh erlang-22.3.4.19-1.el7.x86_64.rpm
3.解压rabbitMq
xz -d rabbitmq-server-generic-unix-3.8.15.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.8.15.tar
mv rabbitmq_server-3.8.15 rabbitmq
mv rabbitmq /home
4.配置环境变量
vim /etc/profile
#添加
export PATH=$PATH:/home/rabbitmq/sbinsource /etc/profile
5.修改数据和日志目录
#创建数据、日志目录
mkdir /home/rabbitmq/{mnesia,log}vim /home/rabbitmq/etc/rabbitmq/rabbitmq-env.conf
#添加
RABBITMQ_MNESIA_BASE=/home/rabbitmq/mnesia
RABBITMQ_LOG_BASE=/home/rabbitmq/log
6.后台启动
rabbitmq-server -detached
7.开启web插件
rabbitmq-plugins enable rabbitmq_management
8.添加用户
rabbitmqctl add_user qxmz 123456
rabbitmqctl set_permissions -p "/" qxmz ".*" ".*" ".*"
rabbitmqctl set_user_tags qxmz administrator
9.关闭
rabbitmqctl stop
镜像集群模式
1.以两台服务器举例,ip为:88.203和88.204。参考上述单机部署方法,在这两台服务器上完成rabbitmq部署。
2.设置相同cookie(88.203,88.204)
启动rabbitmq后,会默认在根目录/root下生成cookie。在集群模式下,不同rabbitmq要设置一样的cookie,否则集群不生效。
将88.203上的cookie拷贝到88.204
cd
chmod u+w .erlang.cookie
scp .erlang.cookie root@192.168.88.204:/root
3.修改 /etc/hosts(88.203,88.204)
vim /etc/hosts
192.168.88.203 node1-203
192.168.88.204 node2-204
3.验证是否互通(88.203,88.204)
ping node1-203
ping node2-204
4.配置集群(88.204)
选203作为主节点,添加204到集群中
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@node1-203
rabbitmqctl start_app
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
5.设置节点是否为内存模式(非必须,88.204或88.203)
rabbitmqctl stop_app
#没有设置过,直接新增
#rabbitmqctl join_cluster --ram rabbit@node1-203#有设置过,直接修改
rabbitmqctl change_cluster_node_type ramrabbitmqctl start_app
6.查看集群命令
rabbitmqctl cluster_status
集群高可用
集群负载均衡和高可用方案,可以采用haproxy+keepalived的方式来实现。
haproxy配置参考:
keepalived配置参考:https://blog.csdn.net/zjun1001/article/details/109677874