linux非root用户的rabbitmq集群部署

  我们之前部署过一个非root用户的rabbitmq节点(参见linux非root用户安装rabbitmq),现在采用同样方式,部署另外两个节点。

  集群的关键是.erlang.cookie文件,注意前面是有点号的。打开第一个节点看看:

[wlf@wlf188 rabbitmq]$ cd ~
[wlf@wlf188 ~]$ vi .erlang.cookie 

AYMYRMIDTAWBOXCITAXQ
~

 

  里面就是一串类似秘钥的东东,把第一个节点的这个秘钥替换掉另外两个节点,因为.erlang.cookie是只读的,vi替换后用wq!即可,替换完确认一下:

[wlf@wlf186 ~]$ cat .erlang.cookie 
AYMYRMIDTAWBOXCITAXQ

 

  应该注意的是集群的机器之间网络是OK的,一般都会在etc/hosts文件中配置机器名:

[wlf@wlf188 ~]$ cat /etc/hosts
127.0.0.1   localhost 
::1         localhost 
192.168.10.113    wlf185
192.168.10.112    wlf186
192.168.10.110    wlf188

 

  主节点部署在wlf188,假设主节点已经启动,那么现在我们启动从节点(wlf186和wlf185)。先看wlf186:

[wlf@wlf186 ~]$ rabbitmq-server -detatched

  ##  ##
  ##  ##      RabbitMQ 3.7.18. Copyright (C) 2007-2019 Pivotal Software, Inc.
  ##########  Licensed under the MPL.  See https://www.rabbitmq.com/
  ######  ##
  ##########  Logs: /home/wlf/rabbitmq_server-3.7.18/var/log/rabbitmq/rabbit@wlf186.log
                    /home/wlf/rabbitmq_server-3.7.18/var/log/rabbitmq/rabbit@wlf186_upgrade.log

              Starting broker...
 completed with 0 plugins.
 

 

  后台启动后,先停应用:

[wlf@wlf186 ~]$ rabbitmqctl stop_app
Stopping rabbit application on node rabbit@wlf186 ...

 

  再加入主节点集群:

[wlf@wlf186 ~]$ rabbitmqctl join_cluster rabbit@wlf188
Clustering node rabbit@wlf186 with rabbit@wlf188

 

  最后重新拉起应用:

[wlf@wlf186 ~]$ rabbitmqctl start_app
Starting node rabbit@wlf186 ...
 completed with 0 plugins.

 

  确认集群状态:

[wlf@wlf186 ~]$ rabbitmqctl cluster_status
Cluster status of node rabbit@wlf186 ...
[{nodes,[{disc,['rabbit@wlf186','rabbit@wlf188']}]},
 {running_nodes,['rabbit@wlf188','rabbit@wlf186']},
 {cluster_name,<<"rabbit@wlf188">>},
 {partitions,[]},
 {alarms,[{'rabbit@wlf188',[]},
          {'rabbit@wlf186',[]}]}]

 

  我们看到主节点wlf188和从节点wlf186均为disc——磁盘节点,现在把另一个从节点作为内存节点加入集群,处理步骤同上,只需在加入集群时指定ram参数即可:

[wlf@wlf185 ~]$ rabbitmqctl join_cluster --ram rabbit@wlf188 
Clustering node rabbit@wlf185 with rabbit@wlf188

 

  重新启动应用后我们再看看集群状态,wlf185确实是内存节点:

[wlf@wlf185 ~]$ rabbitmqctl cluster_status
Cluster status of node rabbit@wlf185 ...
[{nodes,[{disc,['rabbit@wlf188','rabbit@wlf186']},
         {ram,['rabbit@wlf185']}]},
 {running_nodes,['rabbit@wlf186','rabbit@wlf188',
                 'rabbit@wlf185']},
 {cluster_name,<<"rabbit@wlf188">>},
 {partitions,[]},
 {alarms,[{'rabbit@wlf186',[]},
          {'rabbit@wlf188',[]},
          {'rabbit@wlf185',[]}]}]

 

  

  

posted on 2020-05-08 15:09  不想下火车的人  阅读(957)  评论(0编辑  收藏  举报

导航