Arlang的下载:
http://www.erlang.org/download/otp_win64_17.4.exe
RabbitMQ下载:
http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.0/rabbitmq-server-3.5.0.exe
先运行otp_win64_17.4.exe
在运行rabbitmq-servier-3.5.0.exe
命令启动:
(1) Cd C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin盘符
(2)rabbitmqctl start_app
(1) cd C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin
(2) rabbitmq-plugins.bat enable rabbitmq_management
(3) 测试地址:http://127.0.0.1:15672/
(1) C:\Users\guozhaoxia\AppData\Roaming\RabbitMQ
(2) 复制rabbitmq.config.example修改名称为rabbitmq.config
(3) 修改{tcp_listeners, [5672]}
(1) mq202,mq203两台服务器做为RabbitMQ集群节点,分别安装RabbitMq-Server ,安装后分别启动RabbitMq-server
(2) (2)在安装好的三台节点服务器中,分别修改/etc/hosts文件,指定mq202,mq203的hosts,如:172.17.0.202 mq202 172.17.0.203 mq203
(3) 设置cookie:Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境。Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在C:\Users\guozhaoxia\.erlang.cookie和c:/window/.erlang.cookie中。所以必须保证各节点cookie保持一致,否则节点之间就无法通信
(4) 停止所有节点RabbitMq服务,然后使用detached参数独立运行,这步很关键,尤其增加节点停止节点后再次启动遇到无法启动都可以参照这个顺序
(5) cd C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin
a) rabbitmqctl stop
b) rabbitmq-server –detached
c) rabbitmqctl cluster_status(查看集群状态)
d) rabbitmqctl stop_app
(6) 将mq202,mq203连接起来执行如下命令:
a) rabbitmqctl stop_app
b) rabbitmqctl join_cluster --ram rabbit@MQ202(注意MQ要大写,-ram是指内存节点,不如果设置为磁盘节点时,去掉-ram)
c) rabbitmqctl start_app
(1) 使用Rabbit镜像功能,需要基于rabbitmq策略来实现,政策是用来控制和修改群集范围的某个vhost队列行为和Exchange行为
(2) 在cluster中任意节点启用策略,策略会自动同步到集群节点
(3) 添加策略的语法:
(4) set_policy [-p vhostpath] [--priority priority] [--apply-to apply-to] {name} {pattern} {definition}
(5) eg:rabbitmqctl set_policy -p hrsystem ha-allqueue "^message" '{"ha-mode":"all"}'
(6) 这行命令在vhost名称为hrsystem创建了一个策略,策略名称为ha-allqueue,策略模式为 all 即复制到所有节点,包含新增节点,
(7) 策略正则表达式为 “^” 表示所有匹配所有队列名
(注意:"^message" 这个规则要根据自己修改,这个是指同步"message"开头的队列名称,我们配置时使用的应用于所有队列,所以表达式为"^")