2016年4月21日 星期四

RabbitMQ 3.6.1 Cluster 安裝

預備三台機器做 RabbitMQ Cluster
IP 分別為 172.20.10.11~13

套件版本為
RabbitMQ 3.6.1
Erlang 18.3
Java JDK 8u91

# 修改三台 hostname
172.20.10.11$ hostnamectl set-hostname mq_master
172.20.10.12$ hostnamectl set-hostname mq_slave1
172.20.10.13$ hostnamectl set-hostname mq_slave2

# reboot 之後才會生效(以下 all 的動作包含全部的 master & slave)
all$ reboot

# 設定 hosts
all$ vi /etc/hosts

# 加上所有 nodes 的資料
172.20.10.11
172.20.10.12
172.20.10.13

# 安裝 rabbitmq, 作法請參考上一篇的 Centos7 + Rabbitmq
rabbitmq 3.6.1 安裝流程

# 啟動 rabbitmq
all$ rabbitmq-server -detached

# 備份 erlang cookie
all$ cp /root/.erlang.cookie /root/erlang.cookie.bak

# 關閉 rabbitmq(注意, 以下動作包含全部的 slave, 本文則是指 slave1 & slave2)
mq_slave1$ rabbitmqctl stop

# 將 .erlang.cookie 的資料從 mq_master 複製過來(必須是相同的 cookie, 才可加入同一個 cluster)
mq_slave1$ scp root@mq_master:/root/.erlang.cookie /root/

# 啟動 rabbitmq
mq_slave1$ rabbitmqctl start

# 啟動 rabbitmq_management
mq_slave1$ rabbitmqctl enable rabbitmq_management

# 停止 cluster node
mq_slave1$ rabbitmqctl stop_app

# 加入 mq_master 的 cluster
mq_slave1$ rabbitmqctl join_cluster rabbit@mq_master

# 啟動 cluster node
mq_slave1$ rabbitmqctl start_app

# 回到 mq_master 查看 cluster 狀態(重複處理其他的 slave)
mq_master$ rabbitmqctl cluster_status
 # 連到 rabbitmq_management 查看狀態

沒有留言: