环境:Linux 64位系统(Redhat或者CentOS)
通过一系列的学习和使用的过程中积累总结了关于rabbitmq的最简单的安装配置方式,以及集群的搭建,已经找到了可以解决依赖直接进行安装的rpm包,可以在以下链接获取:
https://download.youkuaiyun.com/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节点