0. 部署架構簡介
hostname | ip | role |
---|---|---|
host1 | 192.168.10.11 | rabbitmq-master |
host2 | 192.168.10.12 | rabbitmq-slave |
1. 安裝軟件
分別在host1
和host2
上執行:
$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.0-1.noarch.rpm
$ wget http://www.rabbitmq.com/releases/erlang/erlang-18.2-1.el7.centos.x86_64.rpm
$ rpm -ivh erlang-18.2-1.el7.centos.x86_64.rpm
$ rpm -ivh rabbitmq-server-3.6.0-1.noarch.rpm
2. 拷貝cookie
將host1
的cookie
複製到host2
中去:
scp /var/lib/rabbitmq/.erlang.cookie host2:/var/lib/rabbitmq/.erlang.cookie
3. /etc/hosts
分別將host1
和host2
的/etc/hosts
修改成下面這樣:
192.168.10.11 host1
192.168.10.12 host2
4. 啓動rabbitmq
集羣
在host1
上執行:
rabbitmq-server -detached
在host2
上執行:
rabbitmq-server -detached
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@host1
rabbitmqctl start_app
5. 啓動host1
的web管理頁面(可選)
$ rabbitmq-plugins enable rabbitmq_management
$ cat /etc/rabbitmq/rabbitmq.config
[{rabbit, [{loopback_users, []}]}].
6. 設置高可用策略
在host1
上執行(在host2
上執行也行):
rabbitmqctl set_policy -p / ha-allqueue "^" '{"ha-mode":"all"}'
7. 利用keepalived
或是haproxy
實現rabbitmq
主備的自動切換
8. ref
http://www.cnblogs.com/flat_peach/archive/2013/04/07/3004008.html