
以两台主机部署集群为例,假设ip分别为:192.168.2.100,192.168.2.200
192.168.2.100为主节点
1，环境准备
    修改两台主机 /etc/hosts 文件，添加内容如下：
    192.168.2.100   node1
    192.168.2.200   node2
    其中node1、node2为主机名称。
    验证修改是否生效： 在node1主机上 ping node2，在node2主机上 ping node1
    修改两台主机的静态名称：
    在node1 上执行：sudo hostnamectl set-hostname node1 --static
    在node2 上执行：sudo hostnamectl set-hostname node2 --static

2，在node1上启动rabbitmq，命令：sudo rabbitmq-server
    将node1上/var/lib/rabbitmq/.erlang.cookie文件拷贝到node2下同路径，
    保持两台主机.erlang.cookie保持一致。安装ssh来拷贝文件。
    安装命令：sudo apt install ssh
    由于.erlang.cookie是rabbitmq创建并且只有读权限，需要先修改文件权限才能拷贝。
    两台主机都需要执行以下命令：
    sudo chmod 666 /var/lib/rabbitmq/.erlang.cookie
    sudo chown root:root /var/lib/rabbitmq/.erlang.cookie
    sudo chmod 777 /var/lib/rabbitmq
    然后拷贝,node1上执行：scp /var/lib/rabbitmq/.erlang.cookie [用户名@node2主机名]:/var/lib/rabbitmq/   --注：[用户名@node2主机名]表示完整的主机名，比如zx@node-server3
    拷贝完需要还原相关权限:
    sudo chmod 755 /var/lib/rabbitmq
    sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie
    sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie


    启动node2上的rabbitmq：sudo rabbitmq-server
    停止node2上的rabbitmq服务：sudo rabbitmqctl stop_app
    重置node2上的rabbitmq：sudo rabbitmqctl reset
    将node2加入到node1集群：sudo rabbitmqctl join_cluster rabbit@node1

3，在node1上开启镜像队列
    在node1上执行sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

4，开启node2节点服务
	sudo rabbitmqctl start_app

备注：
    命令：sudo rabbitmqctl join_cluster rabbit@node1
    其中rabbit@node1，rabbit表示rabbitmq服务节点名称。
    在启动rabbitmq时会读取/etc/rabbitmq/rabbitmq下的配置文件rabbitmq-env.conf，
    NODENAME=rabbit可设置节点名称， 注释后默认名称为rabbit
    后面node1表示主机名称