<p>理解了上面的概念之后,我们再搭建 RabbitMQ Server 高可用集群,就非常容易了。</p><p>默认文件是隐藏的,命令并不能查看,你也可以手动搜索下文件:</p><pre class="bash">[root@node1 ~]# find / -name ".erlang.cookie"/var/lib/rabbitmq/.erlang.cookie
[root@node1 ~]# cat /var/lib/rabbitmq/.erlang.cookieLBOTELUJAMXDMIXNTZMB</pre><p>将服务器中的文件,拷贝到服务器上:</p><pre class="bash">[root@node1 ~]# scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq</pre><p>先停止运行节点,然后以后台方式启动 RabbitMQ Server(和分别执行):</p><pre class="bash">[root@node1 ~]# rabbitmqctl stop[root@node1 ~]# rabbitmq-server -detached</pre><p>然后我们以作为集群中心,在上执行加入集群中心命令(节点类型为磁盘节点):</p><pre class="bash">[root@node1 ~]# rabbitmqctl stop_app[root@node1 ~]# rabbitmqctl reset [root@node1 ~]# rabbitmqctl join_cluster rabbit@node1默认是磁盘节点,如果是内存节点的话,需要加–ram参数
[root@node1 ~]# rabbitmqctl start_app</pre><p>查看集群的状态(包含<code>node1</code>和<code>node2</code>节点):</p><pre class="bash">[root@node1 ~]# rabbitmqctl cluster_statusCluster status of node rabbit@node1
[{nodes,[{disc,[rabbit@node1,rabbit@node2]}]},
{running_nodes,[rabbit@node2,rabbit@node1]},
{cluster_name,<<"rabbit@node1">>},
{partitions,[]},
{alarms,[{rabbit@node2,[]},{rabbit@node1,[]}]}]
https://www.cnblogs.com/knowledgesea/archive/2017/03/11/6535766.html
搭建rabbitmq的镜像高可用模式集群
写到这里,接下来,有朋友要请我吃饭啦,我就速战速决赴会去啦,即便如此该有的也会都有的。go,go,go。
这一节要参考的文档是:http://www.rabbitmq.com/ha.html
首先镜像模式要依赖policy模块,这个模块是做什么用的呢?
policy中文来说是政策,策略的意思,那么他就是要设置,那些Exchanges或者queue的数据需要复制,同步,如何复制同步?对就是做这些的。
这里有点内容的,我先上例子慢慢说:
[root@G ~]# ./rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
参数意思为:
ha-all:为策略名称。
^:为匹配符,只有一个^代表匹配所有,^zlh为匹配名称为zlh的exchanges或者queue。
ha-mode:为匹配类型,他分为3种模式:all-所有(所有的queue),exctly-部分(需配置ha-params参数,此参数为int类型比如3,众多集群中的随机3台机器),nodes-指定(需配置ha-params参数,此参数为数组类型比如["3rabbit@F","rabbit@G"]这样指定为F与G这2台机器。)。
参考示例如下
当然在web管理界面也能配置:
配置完看队列如下,其中表示ha-haall的说明用我的ha-haall策略啦,属于镜像模式,没有表示的就是普通模式:
总结</pre><p><br/></p>