关于RMQ的集群部署总结

环境:Linux 64位系统(Redhat或者CentOS)

通过一系列的学习和使用的过程中积累总结了关于rabbitmq的最简单的安装配置方式,以及集群的搭建,已经找到了可以解决依赖直接进行安装的rpm包,可以在以下链接获取:

https://download.csdn.net/download/rava722/10480707

以下说明具体操作流程:


1,安装rabbitmq

    下载解压上述资源,将erlang和rmq的rpm包上传到服务器

    先执行 rpm -ivh erlang-17.4-1.el6.x86_64.rpm

    再执行 rpm -ivh rabbitmq-server-3.5.6-1.noarch.rpm

    然后开启web管理页面 rabbitmq-plugins enable rabbitmq_management

2,集群配置

    先准备好多台服务器,执行1步骤安装各自的rmq服务,修改/etc/hosts文件,将各个服务器的IP地址以及主机名称写入文件,每一台服务器都进行此配置,在其中任意一台服务器(computer1)上执行命令:cat /var/lib/rabbitmq/.erlang.cookie    查看cookie,通过erlang的cookie同步进行集群的数据同步,复制刚刚获取的cookie值,在其他的机器上编辑对应的文件,将cookie值进行替换保存退出,如果提示无法保存需要:w!进行保存,然后退出。

    然后在除了computer1的其他设备上执行命令,将他们依次加入到computer1的节点集合,从而形成集群,在每一台机器上执行以下命令:暂停节点   rabbitmqctl stop_app      

                         加入到节点集合     rabbitmqctl join_cluster    controller1上的rmq节点  --ram

                        重新启动节点        rabbitmqctl start_app

   然后在各个节点上执行:rabbitmqctl cluster_status命令应该都可以看到节点的集合已经包含了刚刚所有的node,对于上面加入到节点中的命令【 rabbitmqctl join_cluster    controller1上的rmq节点】此处controller1上的节点的节点名基本上就是:rabbitmq@主机名

3,用户添加和授权

     rabbitmqctl add_user 用户名    密码

    rabbitmqctl set_user_tags admin administrator

    rabbitmqctl set_permissions -p  "/" 用户 ".*" ".*" ".*"

    /etc/init.d/rabbitmq-server restart

    登录web管理页面然后进行交换机和队列的操作,在其他的节点上也能看到同样的数据,此时需要注意,其实该集群部署模式并非为高可用,数据其实只是存在于某一个节点,当访问到其他rmq节点时,两个节点临时进行数据互传

4,集群节点的移除

    例如 A B 两台机器组件集群,现在需要将B移除,执行以下操作:

    在B机器上先将节点停掉:rabbitmqctl stop_app

    然后在A机器上将B的节点信息移除:rabbitmqctl forget_cluster_node  B节点

你可能感兴趣的:(rabbitmq)