192.168.200.5—rabbitmq2—RabbitMQ内存节点
192.168.200.6—rabbitmq3—RabbitMQ内存节点
使用OpenStack平台创建三台云主机进行实验,云主机镜像使用提供的CentOS_7.5_x86_64_XD.qcow2镜像,flavor使用1核/2G内存/20G硬盘,自行配置网络并使用远程连接工具连接云主机。节点规划表中的IP地址为作者的IP地址
192.168.200.4
# hostnamectl set-hostname rabbitmq1 # 修改完成后使用ctrl+D退出登录然后重新登录
192.168.200.5
# hostnamectl set-hostname rabbitmq2 # 修改完成后使用ctrl+D退出登录然后重新登录
192.168.200.6
# hostnamectl set-hostname rabbitmq3 # 修改完成后使用ctrl+D退出登录然后重新登录
三个节点全都关闭防火墙以及selinux
# setenforce 0 # vi /etc/selinux/config … SELINUX=disabled … # systemctl stop firewalld # systemctl disable firewalld
三个节点配置/etc/hosts文件
# vi /etc/hosts … 192.168.200.4 rabbitmq1 192.168.200.5 rabbitmq2 192.168.200.6 rabbitmq3
# tar -zxvf rabbitmq-repo.tar.gz -C /opt/ # cd /etc/yum.repos.d/ # gzip * # vi local.repo [rabbitmq] name=rabbitmq baseurl=file:///opt/rabbitmq-repo gpgcheck=0 enabled=1 # yum clean all # yum makecache # yum repolist
yum配置完毕后,三个节点安装RabbitMQ服务
# yum install -y rabbitmq-server
三个节点启动RabbitMQ服务,并查看服务状态
rabbitmq1 # systemctl start rabbitmq-server rabbitmq1 # systemctl status rabbitmq-server
rabbitmq1 # rabbitmq-plugins enable rabbitmq_management rabbitmq1 # service rabbitmq-server restart
在开启了图形化监控页面之后,能通过网页访问,访问端口为15672,使用命令查看端口启动情况
rabbitmyq1 # netstatus -ntpl
若看到15672端口已开放,打开浏览器,输入rabbitmq1节点的ip加端口15672( http://192.168.200.4:15672)访问RabbitMQ监控界面,使用用户名:密码guest:guset登录
rabbitmq1 # cat /var/lib/rabbitmq/.erlang.cookie rabbitmq1 # scp /var/lib/rabbitmq/.erlang.cookie root@rabbitmq2:/var/lib/rabbitmq/ rabbitmq1 # scp /vat/lib/rabbitmq/.erlang.cookie root@rabbitmq3:/var/lib/rabbitmq/
将.erlang.cookie文件传至rabbitmq2和rabbitmq3节点后,需要修改该文件的用户和用户组
rabbitmq2 # chown rabbitmq:rabbitmq .erlang.cookie rabbitmq3 # chown rabbitmq:rabbitmq .erlang.cookie
------rabbitmq2 rabbitmq2 # rabbitmqctl stop_app rabbitmq2 # rabbltmqctl join_cluster --ram rabbit@rabbitmq1 rabbitmq2 # rabbitmqctl start_app ------rabbitmq3 rabbitmq3 # rabbitmqctl stop_app rabbitmq3 # rabbitmqctl join_cluster --ram rabbit@rabbitmq1 rabbitmq3 # rabbitmqctl start_app
默认rabbitmq启动后是磁盘节点,在这个cluster命令下,rabbitmq2和rabbitmq3是内存节点,rabbitmq1是磁盘节点 如果要使rabbitmq2、rabbitmq3都是磁盘节点,去掉–ram参数即可。 如果想要更改节点类型,可以使用命令rabbitmqctl change_cluster_node_type disc(ram),前提是必须停掉rabbit应用。
------rabbitmq2 rabbitmq2 # rabbitmq-plugins enable rabbitmq_managemant rabbitmq2 # service rabbitmq-server restart ------rabbitmq3 rabbitmq3 # rabbitmq-plugins enable rabbitmq_management rabbitmq3 # service rabbitmq-server restart
启用rabbitmq2节点和rabbitmq3节点的监控界面后,登录http://192.168.200.4:15672,查看监控界面
查看插件打开情况
# rabbitmq-plugins list
启动监控管理器命令
# rabbitmq-plugins enable rabbitmq_management
关闭监控管理器命令
# rabbitmq-plugins disable rabbitmq_management
查看所有的队列
# rabbitmqctl list_queues
清除所有的队列
# rabbitmqctl reset
查看用户
# rabbitmqctl list_users
查看状态
# rabbitmqctl status
查看集群状态,在RabbitMQ集群的任意节点上可以查看RabbitMQ集群的状态
# rabbitmqctl cluster_status
新增用户admin,密码设置为admin
# rabbitmqctl add_user admin admin
删除用户
# rabbitmqctl delete_user admin
修改用户密码为admin123
# rabbitmqctl change_password admin admin123
设置角色
# rabbitmqctl set_user_tags admin administrator monitoring policymaker management
设置用户权限
# rabbitmqctl set_permissions -p VHostPath admin ConfP WriteP ReadP
查询所有权限
# rabbitmqctl list_permissions [-p VHostPath]
指定用户权限
# rabbitmqctl list_user_permissions admin
清除用户权限命令
# rabbitmqctl clear_permissions [-p VHostPath] admin