天天看點

淺析RabbitMQ 叢集

淺析RabbitMQ 叢集

角色

IP位址

主機名

MQ版本

Master

192.168.103.83

rabbit-jxs-10383

3.5.2-1

slave

192.168.103.84

rabbit-jxs-10384

1)  配置yum 源 (Master/slave 同時配置)          

    yum -y install epel-release

1)    安裝erlang (Master/slave 同時配置)

       Yum –y install erlang

2)    安裝RabbitMQ (Master/slave 同時配置)

rpm –vih rababitmq-server-3.5.2-1.noarch.rpm

3)    修改主機名

a)      Hostname rabbit-jxs-10383 #slave

b)     Vim /etc/sysconfig/network

 Hostname= rabbit-jxs-10383

c)      Vim /etc/hosts (Master/slave 同時配置)

 192.168.103.83 rabbit-jxs-10383

 192.168.103.84 rabbit-jxs-10384

d)     MQ WEB 配置

 [rabbitmq_management,rabbitmq_management_agent].

e)     MQ 服務配置

[root@rabbit-jxs-10383 rabbitmq]# cat rabbitmq.conf

% This file managed by Puppet

% Template Path: rabbitmq/templates/rabbitmq.config

[

  {rabbit, [

    {default_user, <<"guest">>},

    {default_pass, <<"guest>>},

    {tcp_listeners,[5672]},

    {cluster_partition_handling, ignore}

  ]},

  {kernel, [

  ]}

].

% EOF

f)      MQ 環境變量配置

[root@rabbit-jxs-10383 rabbitmq]# cat rabbitmq-env.conf

RABBITMQ_NODE_PORT=5672

MNESIA_BASE=/data/rabbitmq/data

LOG_BASE=/data/rabbitmq/log

g)     MQ 建立目錄

  Mkdir /data/rabitmq/data –p

  Mkdir /data/rabbitmq/log –p

  Chown rabbitmq:rabbitmq /data/rabbitmq –R

h)     MQ啟動服務

  Service rabbitmq-serve restart

  Chkconfig rabbitmq-server on

i)       MQ 端口監聽

[root@rabbit-jxs-10383 rabbitmq]# netstat -tnpl |grep 567

tcp        0      0 0.0.0.0:5672                0.0.0.0:*                   LISTEN      10020/beam.smp     

tcp        0      0 0.0.0.0:25672               0.0.0.0:*                   LISTEN      10020/beam.smp     

tcp        0      0 0.0.0.0:15672               0.0.0.0:*                   LISTEN      10020/beam.smp     

[root@rabbit-jxs-10383 rabbitmq]#

4)    MQ slave 服務配置

a)      同步Master RabbitMQ 檔案配置

  Scp –p 30000 192.168.103.83:/etc/rabbitmq/* /etc/rabbitmq/

  Chown rabbitmq:rabbitmq –R /etc/rabbitmq/ 

b)     MQ 建立工作目錄

  Mkdir /data/rabbitmq/data –p

  Mkdir /data/rabbitmq/log –p

  Chown rabbitmq:rabbitmq –R /data/rabbitmq

c)      同步Master Rabbitmq .erlang.cookie

  Scp –p 30000 192.168.103.83:/var/lib/rabbitmq/.erlang.cookie ./var/lib/rabbitmq/

 Chown rabbitmq:rabbitmq /var/lib/rabbitmq

d)     啟動MQ slave  服務

Service rabbitmq-server restart

chkconfig rabbitmq on

e)     停止Master MQ

rabbitmqctl stop_app

f)      清空Master MQ資訊

 rabbitmqctl reset

g)     加入10384 到MQ叢集中

 rabbitmqctl  join_cluster rabbit@rabbit-jxs-10384

h)     啟動MQmaster 服務

rabbitmqctl start_app

i)       檢視狀态

[root@rabbit-jxs-10383 ~]# rabbitmqctl cluster_status

Cluster status of node 'rabbit@rabbit-jxs-10383' ...

[{nodes,[{disc,['rabbit@rabbit-jxs-10383','rabbit@rabbit-jxs-10384']}]},

 {running_nodes,['rabbit@rabbit-jxs-10384','rabbit@rabbit-jxs-10383']},

 {cluster_name,<<"rabbit@rabbit-jxs-10383">>},

      {partitions,[]}]

1) 建立Rabbit 管理使用者

a)      rabbitmqctl add_user admin admin

2) 賦予使用者權限

a)      rabbitmqctl set_user_tags admin administrator

3) MQ 鏡像實作

a)      rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

4) 完成MQ配置

a)      http://192.168.103.84:15672

本文轉自 swq499809608 51CTO部落格,原文連結:http://blog.51cto.com/swq499809608/1665970