文章目录
准备环境安装rabbitmq-server配置集群和集群管理账号权限管理
准备环境
准备三台服务器
系统主机名IP
CentOS7.6 1810rmq-01192.168.2.130CentOS7.6 1810rmq-02192.168.2.131CentOS7.6 1810rmq-03192.168.2.132 配置各节点的hosts文件( vim /etc/hosts)
192.168.2.130 rmq-01
192.168.2.131 rmq-02
192.168.2.132 rmq-03
安装rabbitmq-server
各个节点上都安装rabbitmq-server
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
yum install erlang -y
cat > /etc/yum.repos.d/rabbit-server.repo <<EOF
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/8/
gpgcheck=0
repo_gpgcheck=0
enabled=1
EOF
yum install rabbitmq-server -y
同步中一个节点的cookie到另外两个节点(节点之间通过cookie确定相互是否可通信) 在rmq-01 节点上执行
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
rsync -acvzP /var/lib/rabbitmq/.erlang.cookie 192.168.2.131:/var/lib/rabbitmq/
rsync -acvzP /var/lib/rabbitmq/.erlang.cookie 192.168.2.132:/var/lib/rabbitmq/
设置rabbitmq 启动时需要的环境变量(/etc/rabbitmq/rabbitmq-env.conf) rmq-01 节点
echo "NODENAME=rabbit@rmq-01" >>/etc/rabbitmq/rabbitmq-env.conf
rmq-02 节点
echo "NODENAME=rabbit@rmq-02" >>/etc/rabbitmq/rabbitmq-env.conf
rmq-03 节点
echo "NODENAME=rabbit@rmq-03" >>/etc/rabbitmq/rabbitmq-env.conf
各个节点启动rabbitmq_management 插件
rabbitmq-plugins enable rabbitmq_management
配置集群和集群管理
把rmq-02 节点加入rmq-01(主节点),此时在rmq-02 节点上操作
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rmq-01
rabbitmqctl start_app
rabbitmqctl status
把rmq-03 节点加入rmq-01(主节点),此时在rmq-03 节点上操作
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rmq-01 #默认磁盘节点类型disc
rabbitmqctl start_app
rabbitmqctl status
改变集群节点类型,在需要改变类型节点上操作
rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type rmq-03 ram | disc
rabbitmqctl start_app
集群删除节点rmq-03,在rmq-03 节点上操作
rabbitmqctl stop_app
rabbitmqctl forget_cluster_node rabbit@rmq-03###此时会报错,忽略即可
rabbitmqctl reset
查看集群的状态
rabbitmqctl cluster_status
rabbitmqctl set_cluster_name ha_rmq_cluster #设置集群名字
设置集群镜像模式
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"exactly", "ha-params":2, "ha-sync-mode":"automatic","ha-sync-batch-size":300000}'
账号权限管理
rabbitmqctl add_user admin Admin #创建账号并设置密码
rabbitmqctl set_user_tags admin administrator #给账号授权administrator 角色
rabbitmqctl set_permissions -p '/' admin'.*' '.*' '.*' #设置权限
rabbitmqctl delete_user admin #删除账号
rabbitmqctl change_password admin Newpassword #修改用户密码
rabbitmqctl list_users # 查看用户列表