RabbitMQ3.8 集群部署之镜像模式

    技术2022-07-11  89

    文章目录

    准备环境安装rabbitmq-server配置集群和集群管理账号权限管理

    准备环境

    准备三台服务器 系统主机名IPCentOS7.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 # 查看用户列表
    Processed: 0.015, SQL: 9