基础配置
- 在
openstack云平台中创建三台云主机(1核/2G内存/20G) - 使用CRT连接工具进行远程连接
- 三个节点分别上传
rabbitmq-repo.tar.gz压缩包并解压至/opt目录下
[root@rabbitmq1 ~]# tar -zxvf rabbitmq-repo.tar.gz -C /opt/
- 配置域名解析
[root@rabbitmq1 ~]# cat /etc/hosts
192.168.200.3 rabbitmq1
192.168.200.12 rabbitmq2
192.168.200.15 rabbitmq3
- 配置YUM源
[root@rabbitmq1 ~]# cat > /etc/yum.repos.d/local.repo <<EOF
> [rabbitmq]
> name=rabbitmq
> baseurl=file:///opt/rabbitmq-repo
> gpgcheck=0
> enabled=1
> EOF
RabbitMQ服务
- 安装
[root@rabbitmq1 ~]# yum install -y rabbitmq-server
- 开启服务及查询状态
[root@rabbitmq1 ~]# systemctl start rabbitmq-server
[root@rabbitmq1 ~]# systemctl status rabbitmq-server
- 配置界面访问
## 启动图形化页面插件
[root@rabbitmq1 ~]# rabbitmq-plugins enable rabbitmq_management
## 重启服务
[root@rabbitmq1 ~]# service rabbitmq-server restart
- 访问
rabbitmq1节点的RabbitMQ监控界面(rabbitmq1加端口15672http://192.168.200.3:15672)使用用户名:guest,密码:guset登录
部署RabbitMQ集群服务
- 配置节点间的通信
## 查看rabbitmq1节点的.erlang.cookie文件
[root@rabbitmq1 ~]# cat /var/lib/rabbitmq/.erlang.cookie
## 将该文件复制到rabbitmq2和rabbitmq3节点的/var/lib/rabbitmq/目录下
[root@rabbitmq1 ~]# scp /var/lib/rabbitmq/.erlang.cookie rabbitmq2:/var/lib/rabbitmq/
[root@rabbitmq1 ~]# scp /var/lib/rabbitmq/.erlang.cookie rabbitmq3:/var/lib/rabbitmq/
- 【注意】
Rabbitmq的集群是依附于erlang集群来工作的,所以必须先构建起一个erlang集群- erlang集群中各节点是由
magic cookie来实现的,每个节点上要保持相同的.erlang.cookie文件,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的权限 - 必须保证各节点cookie一致,不然节点之间就无法通信
- 修改该文件的用户与用户组
[root@rabbitmq2 ~]# chown rabbitmq.rabbitmq /var/lib/rabbitmq/.erlang.cookie
[root@rabbitmq3 ~]# chown rabbitmq.rabbitmq /var/lib/rabbitmq/.erlang.cookie
- 配置节点加如集群
## rabbitmq2节点
[root@rabbitmq2 ~]# systemctl restart rabbitmq-server
[root@rabbitmq2 ~]# rabbitmqctl stop_app
[root@rabbitmq2 ~]# rabbitmqctl join_cluster --ram rabbit@rabbitmq1
[root@rabbitmq2 ~]# rabbitmqctl start_app
## rabbitmq3节点
[root@rabbitmq3 ~]# systemctl restart rabbitmq-server
[root@rabbitmq3 ~]# rabbitmqctl stop_app
[root@rabbitmq3 ~]# rabbitmqctl join_cluster --ram rabbit@rabbitmq1
[root@rabbitmq3 ~]# rabbitmqctl start_app
- 配置RAM节点启用界面
## 在rabbitmq2和rabbitmq3节点上启用rabbitmq_management
[root@rabbitmq2 ~]# rabbitmq-plugins enable rabbitmq_management
[root@rabbitmq2 ~]# service rabbitmq-server restart
[root@rabbitmq3 ~]# rabbitmq-plugins enable rabbitmq_management
[root@rabbitmq3 ~]# service rabbitmq-server restart
访问验证
使用浏览器访问:
http://192.168.200.3:15672
rabbitmq1节点为数据节点,rabbitmq2和rabbitmq3节点为RAM内存节点
RabbitMQ集群常用命令
- 查看插件打开情况
[root@rabbitmq1 ~]# rabbitmq-plugins list
启动/关闭监控管理器
[root@rabbitmq1 ~]# rabbitmq-plugins enable rabbitmq_management
[root@rabbitmq1 ~]# rabbitmq-plugins disable rabbitmq_management
- 查看所有队列
[root@rabbitmq1 ~]# rabbitmqctl list_queuesListing queues ......done.
- 清除所有队列
[root@rabbitmq1 ~]# rabbitmqctl reset
- 查看用户
[root@rabbitmq1 ~]# rabbitmqctl list_users
Listing users ...
guest [administrator]
...done.
- 查看状态
[root@rabbitmq1 ~]# rabbitmqctl status
- 查看集群状态,在RabbitMQ集群的任一节点上,可以查看RabbitMQ集群的状态
[root@rabbitmq1 rabbitmq]# rabbitmqctl cluster_status
Cluster status of node rabbit@rabbitmq1 ...
[{nodes,[{disc,[rabbit@rabbitmq1]},{ram,[rabbit@rabbitmq3,rabbit@rabbitmq2]}]},
{running_nodes,[rabbit@rabbitmq3,rabbit@rabbitmq2,rabbit@rabbitmq1]},
{cluster_name,<<"rabbit@rabbitmq1">>},
{partitions,[]}]
...done.
可查看到rabbitmq1节点为disc磁盘节点,rabbitmq2节点和rabbitmq3节点为RAM内存节点
- 添加用户
admin,并设置密码为admin
[root@rabbitmq1 ~]# rabbitmqctl add_user admin admin
Creating user "admin" ...
...done.
[root@rabbitmq1 ~]# rabbitmqctl list_users
Listing users ...
admin []
guest [administrator]
...done.
- 删除用户
[root@rabbitmq1 ~]# rabbitmqctl delete_user admin
Deleting user "admin" ...
...done.
[root@rabbitmq1 ~]# rabbitmqctl list_users
Listing users ...
guest [administrator]
...done.
- 修改
admin用户的密码为admin123
[root@rabbitmq1 ~]# rabbitmqctl change_password admin admin123
Changing password for user "admin" ...
...done.

Comments NOTHING