Centos7-rabbitmq集群部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yan7895566/article/details/82834350

一、对应主机host地址(每台主机host文件要保持一致)(每台都操作)
172.16.2.61 rabbitmq01
172.16.2.62 rabbitmq02

二、每台都安装rabbitmq-server(注意:要先装epel-release扩展源)(每台都操作)
yum -y install epel-release && yum -y install rabbitmq-server

三、启动服务和查看状态(每台都操作)
systemctl start rabbitmq-server && systemctl enable rabbitmq-server && systemctl status rabbitmq-server

四、安装管理插件(每台都操作)
1.web管理插件
rabbitmq-plugins list                              # 查看插件列表
rabbitmq-plugins enable rabbitmq_management        # 启动插件

2.日志跟踪插件
rabbitmq-plugins enable rabbitmq_tracing      #rabbitmq启用trace插件
rabbitmqctl trace_on                          #打开trace的开关
rabbitmqctl trace_on -p test                 #打开trace的开关(test为需要日志追踪的vhost)
rabbitmqctl trace_off                         #关闭trace的开关

3.安装rabbitmq_delayed_message_exchange(延时队列)
默认插件目录(把下载好的插件放在这个目录下,启动下即可)
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.12/plugins
wget https://dl.bintray.com/rabbitmq/community-plugins/rabbitmq_delayed_message_exchange-0.0.1.ez
rabbitmq-plugins enable rabbitmq_delayed_message_exchange        # 启动插件

五、普通集群配置

1.说明:
Rabbitmq的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群镜像。
Erlang的集群中各节点是经由过程一个magic cookie来实现的,这个cookie存放在 $home/.erlang.cookie 中,
我的是用yum安装的,所以.erlang.cookie就放在/var/lib/rabbitmq中

2.复制cookie内容 
erlang.cookie是erlang实现分布式的必要文件,erlang分布式的每个节点上要保持相同的.erlang.cookie文件,
同时保证文件的权限是400,不然节点之间就无法通信。
打开rabbitmq01服务器的/var/lib/rabbitmq/.erlang.cookie中的内容,复制到其他节点上,最好是复制内容,
因为文件权限不对的话会出现问题,在最后退出保存的时候使用wq!用!来进行强制保存即可.

3.erlang.cookie复制完成后,逐个重启节点服务:
systemctl restart rabbitmq-server && systemctl status rabbitmq-server

4.添加到集群并查看集群状态:
将rabbit@rabbitmq01作为集群主节点,在其他节点上分别执行如下命令,以加入集群中.
rabbitmqctl stop_app                            # 仅停止应用
rabbitmqctl reset                                # 重置应用
rabbitmqctl join_cluster rabbit@rabbitmq01        # 加入rabbit@rabbitmq01集群
rabbitmqctl start_app                            # 开启应用
rabbitmqctl cluster_status                        # 都查看集群状态

5.账号管理
rabbitmqctl add_user admin admin                # 添加账号
rabbitmqctl set_user_tags admin administrator    # 添加权限
rabbitmqctl delete_user guest                    # 删除用户
rabbitmqctl change_password 用户名 密码            # 修改用户的密码
rabbitmqctl list_users                            # 查看当前用户列表

6.vhost管理
rabbitmqctl add_vhost vhostname      # 创建vhost
rabbitmqctl delete_vhost vhostname     # 删除vhost
rabbitmqctl list_vhosts                # 查看所有虚拟主机信息
rabbitmqctl set_permissions -p v_host user  ".*"  ".*"  ".*"   ##绑定权限,并且具备读写的权限
rabbitmqctl list_queues                # 显示所有队列

7.设置镜像队列策略(将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态保持一直。)
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'    # -p vhost 默认是/

8.访问WEB地址:172.16.2.61:15672

至此RabbitMQ高可用集群就已经搭建好了

从集群中移除节点:
rabbitmqctl stop_app && rabbitmqctl reset && rabbitmqctl start_app

改变集群节点类型 

加入集群时指定节点类型:
rabbitmqctl stop_app && rabbitmqctl join_cluster --ram rabbit@rabbitmq01 && rabbitmqctl start_app
--ram 指定内存节点类型,--disc指定磁盘节点类型

修改节点类型:
rabbitmqctl stop_app && rabbitmqctl change_cluster_node_type disc &&rabbitmqctl start_app

日志文件: ll /var/log/rabbitmq/

猜你喜欢

转载自blog.csdn.net/yan7895566/article/details/82834350
今日推荐