一、环境说明
系统版本: CentOS 7.6.1810
内核版本: 3.10.0-957.el7.x86_64
keepalived版本: 2.2.7
haproxy版本: 2.1.10
erlang版本: 23.3
rabbitMQ版本: 3.8.14
角色 IP地址 节点主机名 硬件配置 运行模式 master 172.17.0.31 mq01 4C4G 硬盘 node 172.17.0.32 mq02 4C4G 内存 node 172.17.0.33 mq03 4C4G 内存
二、系统优化可以根据这篇文档进行优化到第十一步:Kubernetes部署_莫渊博-天下无病的博客-CSDN博客_kubernetes部署
三、修改主机名
mq01(172.17.0.31)修改主机名
hostnamectl set-hostname mq01
mq02(172.17.0.32)修改主机名
hostnamectl set-hostname mq02
mq03(172.17.0.33)修改主机名
hostnamectl set-hostname mq03
四、修改hosts,3台都操作
cat >> /etc/hosts <<EOF
172.17.0.31 mq01
172.17.0.32 mq02
172.17.0.33 mq03
EOF
五、配置ssh密钥连接
1)在 mq01 上操作,生成密钥
ssh-keygen
2)添加公钥:cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
3)修改文件属性:chmod 600 /root/.ssh/authorized_keys
4)传输到另外两台服务器上
scp -r /root/.ssh/ mq02:/root/
scp -r /root/.ssh/ mq03:/root/
5)测试连接情况
六、安装依赖包(3台都操作)
yum -y install epel-release
yum install -y ncurses-devel openssl-devel unixODBC-devel gcc gcc-c++ popt-devel systemd-devel wxWidgets-devel wxBase-devel
ln -s /usr/bin/wx-config-3.0 /usr/bin/wx-config
七、创建 rabbitmq 用户
useradd -u 1020 -s /sbin/nologin rabbitmq
八、创建相关目录
mkdir -p /data/{recycle,software}
九、安装erlang
cd /data/recycle/
wget https://erlang.org/download/otp_src_23.3.tar.gz
tar zxf otp_src_23.3.tar.gz
cd otp_src_23.3/
./configure --prefix=/data/software/erlang
make -j 2
make install
cd /data/recycle/
rm otp_src_23.3* -rf
cat > /etc/profile.d/erlang_home.sh <<EOF
export ERLANG_HOME=/data/software/erlang
export PATH=\$PATH:\$ERLANG_HOME/bin
EOF
chown -R rabbitmq:rabbitmq /data/software/erlang
source /etc/profile
erl -version
十、安装 rabbitMQ
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.14/rabbitmq-server-generic-unix-3.8.14.tar.xz
tar xf rabbitmq-server-generic-unix-3.8.14.tar.xz
mv rabbitmq_server-3.8.14/ /data/software/rabbitmq
cat > /etc/profile.d/rabbitmq_home.sh <<EOF
export RABBITMQ_HOME=/data/software/rabbitmq
export PATH=\$PATH:\$RABBITMQ_HOME/sbin
EOF
source /etc/profile
which rabbitmqctl
十一、编写配置文件
1)端口解析:
35441 对应默认端口5672,由不带TLS和带TLS的AMQP 0-9-1和1.0客户端使用,也就是客服端连接到rabbitMQ服务的通信端口
35442 对应默认端口15672,管理界面ui使用的端口
35443 对应默认端口25672,( Erlang distribution)server间内部通信口
4369 epmd,RabbitMQ节点和CLI工具使用的对等发现服务
IP=$(ip route | awk '{print $9}' | grep -E '([0-9]{1,3}.){3}[0-9]{1,3}')
echo ${IP}
cat > /data/software/rabbitmq/etc/rabbitmq/rabbitmq.conf <<EOF
listeners.tcp.local = ${IP}:35441
management.tcp.port = 35442
management.tcp.ip = ${IP}
log.file.level = error
EOF
2) mq01服务器配置
cat > /data/software/rabbitmq/etc/rabbitmq/rabbitmq-env.conf <<EOF
RABBITMQ_DIST_PORT=35443
NODENAME=rabbit@mq01
RABBITMQ_NODE_PORT=35441
RABBITMQ_MNESIA_BASE=/data/software/rabbitmq/data
RABBITMQ_LOG_BASE=/data/software/rabbitmq/logs
EOF
3)mq02服务器配置
cat > /data/software/rabbitmq/etc/rabbitmq/rabbitmq-env.conf <<EOF
RABBITMQ_DIST_PORT=35443
NODENAME=rabbit@mq02
RABBITMQ_NODE_PORT=35441
RABBITMQ_MNESIA_BASE=/data/software/rabbitmq/data
RABBITMQ_LOG_BASE=/data/software/rabbitmq/logs
EOF
4)mq03服务器配置
cat > /data/software/rabbitmq/etc/rabbitmq/rabbitmq-env.conf <<EOF
RABBITMQ_DIST_PORT=35443
NODENAME=rabbit@mq03
RABBITMQ_NODE_PORT=35441
RABBITMQ_MNESIA_BASE=/data/software/rabbitmq/data
RABBITMQ_LOG_BASE=/data/software/rabbitmq/logs
EOF
5)创建目录:
mkdir /data/software/rabbitmq/{data,logs}
6)erlang 的环境变量添加rabbitMQ的脚本里
# 在第一行的下面添加内容
sed -i '1a export PATH=$PATH:/data/software/erlang/bin' /data/software/rabbitmq/sbin/rabbitmq-env
sed -i '1a export PATH=$PATH:/data/software/erlang/bin' /data/software/rabbitmq/sbin/rabbitmq-server
7)修改权限属性
chown -R rabbitmq:rabbitmq /data/software/rabbitmq
十二、安装 supervisor 管理服务工具
yum -y install supervisor
cat > /etc/supervisord.d/rabbitmq.ini <<EOF
[program:rabbitmq]
;程序的启动目录
directory = /data/software/rabbitmq
# erlang环境变量
environment=HOME=/data/software/erlang/lib/erlang/erts-11.2/bin
;启动命令,可以看出与手动在命令行启动的命令是一样的
command = /data/software/rabbitmq/sbin/rabbitmq-server
; 在 supervisord 启动的时候也自动启动
autostart = true
; 当收到stop请求的时候,发送信号给程序
stopsignal = INT
; 启动 5 秒后没有异常退出,就当作已经正常启动了
startsecs = 5
; 程序异常退出后自动重启
autorestart = true
; 启动失败自动重试次数,默认是 3
startretries = 3
;用哪个用户启动
user = rabbitmq
; 把 stderr 重定向到 stdout,默认 false
redirect_stderr = true
; stdout 日志文件大小,默认 50MB
stdout_logfile_maxbytes = 20MB
; stdout 日志文件备份数
stdout_logfile_backups = 30
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord会自动创建日志文件)
stdout_logfile = /data/software/rabbitmq/logs/rabbitmq_out.log
EOF
十三、配置日志按天数切割
配置解析:
daily # 日志按天轮询。也可以设为weekly、monthly、yearly
rotate 30 # 备份数,超过的会删除
dateext # 备份文件名包含日期信息
dateyesterday # 用昨天的日期做后缀,如果不用这个参数,会造成日志文件显示的日期和实际不是一天
copytruncate # 首先将目标文件复制一份,然后在做截取。这样做防止将原目标文件重命名引起的问题
delaycompress # 与compress选项一起用,delaycompress选项指示logrotate不将最近的归档压缩
compress # 压缩文件。如果不想压缩 可以和delaycompress 一起去掉
missingok # 忽略错误
notifempty # 如果没有日志就不进行轮询
cat > /etc/logrotate.d/rabbitmq <<EOF
/data/software/rabbitmq/logs/*.log {
daily
rotate 30
dateext
dateyesterday
copytruncate
delaycompress
compress
missingok
notifempty
}
EOF
十四、启动supervisor
systemctl enable --now supervisord.service
十五、检查相关信息
1)检查 supervisor 管理 rabbitmq 的状态(RUNNING状态为正常)
2)启动 rabbitMQ 管理平台
rabbitmq-plugins enable rabbitmq_management
# 启动管理后需要重启才生效
supervisorctl restart rabbitmq
supervisorctl status
3)检查 rabbitMQ 端口
netstat -untpl | grep 3544
4)检查日志切割
logrotate -vfd /etc/logrotate.d/rabbitmq
十六、将 mq02 和 mq03 加入到集群中
1)mq01 服务器操作
# 把 cookie 认证文件统一起来
scp /data/software/erlang/lib/erlang/erts-11.2/bin/.erlang.cookie /root/
scp /data/software/erlang/lib/erlang/erts-11.2/bin/.erlang.cookie /data/software/rabbitmq/
# 修改权限
chown rabbitmq:rabbitmq /data/software/rabbitmq/.erlang.cookie \
/data/software/rabbitmq/.erlang.cookie \
/root/.erlang.cookie
# 传输到 mq02
scp /data/software/erlang/lib/erlang/erts-11.2/bin/.erlang.cookie mq02:/root/
scp /data/software/erlang/lib/erlang/erts-11.2/bin/.erlang.cookie \
mq02:/data/software/erlang/lib/erlang/erts-11.2/bin/
scp /data/software/erlang/lib/erlang/erts-11.2/bin/.erlang.cookie \
mq02:/data/software/rabbitmq/
# 传输到 mq03
scp /data/software/erlang/lib/erlang/erts-11.2/bin/.erlang.cookie mq03:/root/
scp /data/software/erlang/lib/erlang/erts-11.2/bin/.erlang.cookie \
mq03:/data/software/erlang/lib/erlang/erts-11.2/bin/
scp /data/software/erlang/lib/erlang/erts-11.2/bin/.erlang.cookie \
mq03:/data/software/rabbitmq/
# 重启rabbitMQ
supervisorctl restart rabbitmq
supervisorctl status
2)mq02 和 mq03 服务器操作
rabbit@mq01 获取方式
在 mq01 上运行: rabbitmqctl cluster_status
# 修改权限
chown rabbitmq:rabbitmq /data/software/rabbitmq/.erlang.cookie \
/data/software/rabbitmq/.erlang.cookie \
/root/.erlang.cookie
# 重启rabbitMQ
supervisorctl restart rabbitmq
supervisorctl status
# 停止 rabbitMQ 服务
rabbitmqctl stop_app
# 加入到 mq01 集群上,并以 内存模式 运行 rabbitMQ 服务
rabbitmqctl join_cluster --ram rabbit@mq01
# 启动 rabbitMQ 服务
rabbitmqctl start_app
3)任意一台服务器运行查看集群状态
4)添加rabbitMQ用户(在其中一台服务器上操作就行了)
rabbitmqctl list_users # 查看用户列表
rabbitmqctl add_user admin 123456 # 添加用户为admin,密码为:123456
rabbitmqctl add_vhost test # 添加工作目录为:test
rabbitmqctl set_user_tags admin administrator # 把 admin 设置为管理员用户
rabbitmqctl set_permissions -p test admin ".*" ".*" ".*" # 把工作目录(test)设置为admin拥有所有的权限
rabbitmqctl delete_user guest # 删除默认自带的 guest 用户
5)验证查看用户(3台都查看一下)
rabbitmqctl list_users
十七、部署 haproxy(在两台服务器上部署就行了,这里选择在 mq01 和 mq02上部署)
1)获取内核信息,等一会需要用到
uname -r
2)开始部署 haproxy
cd /data/recycle
wget https://www.haproxy.org/download/2.1/src/haproxy-2.1.10.tar.gz
tar zxf haproxy-2.1.10.tar.gz
cd haproxy-2.1.10
make TARGET=linux31 PREFIX=/data/software/haproxy ARCH=x86_64 USE_SYSTEMD=1
make install PREFIX=/data/software/haproxy
cd /data/recycle
rm -rf haproxy-2.1.10
3)配置管理启动 haproxy 的文件
cat > /usr/lib/systemd/system/haproxy.service <<'EOF'
[Unit]
Description=HAProxy Load Balancer
After=network-online.target
Wants=network-online.target
[Service]
Environment="CONFIG=/data/software/haproxy/etc/haproxy.cfg" "PIDFILE=/data/software/haproxy/run/haproxy.pid"
EnvironmentFile=/etc/sysconfig/haproxy
ExecStartPre=/data/software/haproxy/sbin/haproxy -f $CONFIG -c -q $OPTIONS
ExecStart=/data/software/haproxy/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE $OPTIONS
ExecReload=/data/software/haproxy/sbin/haproxy -f $CONFIG -c -q $OPTIONS
ExecReload=/bin/kill -USR2 $MAINPID
SuccessExitStatus=143
KillMode=mixed
Type=notify
[Install]
WantedBy=multi-user.target
EOF
4)配置保存 haproxy 日志配置文件
cat > /etc/sysconfig/haproxy <<EOF
OPTIONS=""
EOF
cat > /etc/rsyslog.d/haproxy.conf <<'EOF'
local0.* /data/software/haproxy/logs/haproxy.log
EOF
5)创建相关目录
mkdir /data/software/haproxy/{etc,logs,run}
6)配置 haproxy 主配置文件
cat > /data/software/haproxy/etc/haproxy.cfg <<'EOF'
global # 全局配置
# 通过 local0 关联 rsyslogd 进行输出,定义haproxy 日志级别
log 127.0.0.1 local0 warning
# 最大连接数
maxconn 25600
# 指定作为守护进程运行时的进程数,推荐设置为与CPU核心数相同
nbproc 4
# haproxy 运行的工作目录
chroot /data/software/haproxy
# 运行 haproxy 的用户或UID
user haproxy
# 运行 haproxy 的用户组或GID
group haproxy
# 以守护进行的方式运行
daemon
# 当前进程的 pid 文件存放位置
pidfile /data/software/haproxy/run/haproxy.pid
# 定义统计信息保留位置
stats socket /data/software/haproxy/stats
defaults # 默认配置
# 应用全局的日志配置
log global
# 使用4层代理模式,7层代理模式则为"http"
mode tcp
# 日志类别,模式是http的日志类型为httplog
option tcplog
# 不记录健康检查的日志信息
option dontlognull
# 打开http协议中服务器端关闭功能,使得支持长连接,使得会话可以被重用,使得每一个日志记录都会被记录
option http-server-close
# 如果option forwardfor被注释掉了,haproxy将不会将自己的作为代理写入到x-forwarder-for中去,且只有http模式有效
# option forwardfor except 127.0.0.0/8
# 3次失败则认为服务不可用
retries 3
# 当与上游服务器的会话失败(服务器故障或其他原因)时,把会话重新分发到其他健康的服务器上,当原来故障的服务器恢复时,会话又被定向到已恢复的服务器上,但如果是带认证(cookie)的不建议开启,不然会出现客服端要求重新登陆的情况。还可以用”retries”关键字来设定在判定会话失败时的尝试连接的次数
# option redispatch
# 设置默认负载均衡方式,类似于nginx的ip_hash
#balance source
# 设置默认负载均衡方式,轮询方式
balance roundrobin
# 每个进程可用的最大连接数
maxconn 25600
# 当服务器负载很高的时候,自动结束掉当前队列处理比较久的连接
option abortonclose
timeout http-request 10s # 默认http请求超时时间
timeout queue 1m # 默认队列超时时间
timeout connect 10s # 默认连接超时时间
timeout client 1m # 默认客户端超时时间
timeout server 1m # 默认服务器超时时间
timeout http-keep-alive 10s # 默认持久连接超时时间
timeout check 10s # 设置心跳检查超时时间
# 绑定配置
listen rabbitmq_cluster # #Frontend和Backend的组合体,rabbitMQ集群的名称,按需自定义名称
bind 172.17.0.120:35444 # 腾讯后台申请HAVIP,https://cloud.tencent.com/document/product/215/36691
# 配置TCP模式
mode tcp
option tcplog
# 采用加权轮询的机制进行负载均衡
balance roundrobin
# HAProxy 中的timeout client超时时间,配置大于系统的tcp_keepalive_time间隔时间,
option clitcpka
timeout client 30m
timeout server 30m
# RabbitMQ 集群节点配置
server mq01 172.17.0.31:35441 check inter 5000 rise 2 fall 3 weight 1
server mq02 172.17.0.32:35441 check inter 5000 rise 2 fall 3 weight 1
server mq03 172.17.0.33:35441 check inter 5000 rise 2 fall 3 weight 1
#以上配置代表对地址为 rabbit-node1:5672 的 node1 节点每隔 5 秒进行一次健康检查,如果连续两次的检查结果都是正常,则认为该节点可用,此时可以将客户端的请求轮询到该节点上;如果连续 3 次的检查结果都不正常,则认为该节点不可用。weight 用于指定节点在轮询过程中的权重。
# 配置监控页面
listen monitor # #Frontend和Backend的组合体,监控组的名称,按需自定义名称
bind 172.17.0.31:35445 # 绑定IP地址和监听端口
mode http # 开启模式为http
option httplog
log global # 日志应用到全局的配置上
bind-process 4 # 代理 haproxy_status,在多进程模式下,状态将只分配给当前请求的进程。所以,我们一般使用 "bind-process" 将 haproxy 状态页面绑定到固定的进程上,跟上面 nbproc 同理
stats enable # 开启后台统计
stats uri /stats # 统计页面uri
stats hide-version # 隐藏统计页面上HAProxy的版本信息
stats refresh 30s # 统计页面自动刷新时间
stats realm Haproxy Manager # 设置登录HAproxy监控统计页面时,密码框上的文本提示信息
stats auth admin:admin # 监控页面的用户和密码admin,可以设置多个用户名
stats auth admin1:admin1 # 监控页面的用户和密码admin1
# stats admin if TRUE # 手动启用/禁用,后端服务器(haproxy-1.4.9以后版本),出于安全考虑,生产环境下不开启
EOF
7)根据自己的情况去修改主配置文件(包括两台服务器都要修改)
十八、安装 keepalived(在两台服务器上部署就行了,这里选择在 mq01 和 mq02上部署)
1)开始下载安装
cd /data/recycle
wget https://keepalived.org/software/keepalived-2.2.7.tar.gz --no-check-certificate
tar zxf keepalived-2.2.7.tar.gz
cd keepalived-2.2.7/
./configure --prefix=/data/software/keepalived
make
make install
cd /data/recycle
rm keepalived-2.2.7* -rf
cat > /etc/profile.d/keepalived_home.sh <<EOF
export KEEPALIVED_HOME=/data/software/keepalived
export PATH=\$PATH:\$KEEPALIVED_HOME/sbin
EOF
2)创建相关目录
mkdir /data/software/keepalived/{run,logs}
3)配置日志收集
cat >/data/software/keepalived/etc/sysconfig/keepalived <<'EOF'
# Options for keepalived. See `keepalived --help' output and keepalived(8) and
# keepalived.conf(5) man pages for a list of all options. Here are the most
# common ones :
#
# --vrrp -P Only run with VRRP subsystem.
# --check -C Only run with Health-checker subsystem.
# --dont-release-vrrp -V Dont remove VRRP VIPs & VROUTEs on daemon stop.
# --dont-release-ipvs -I Dont remove IPVS topology on daemon stop.
# --dump-conf -d Dump the configuration data.
# --log-detail -D Detailed log messages.
# --log-facility -S 0-7 Set local syslog facility (default=LOG_DAEMON)
#
KEEPALIVED_OPTIONS="-f /data/software/keepalived/etc/keepalived/keepalived.conf -D -d -S 1"
EOF
cat > /etc/rsyslog.d/keepalived.conf <<EOF
local1.* /data/software/keepalived/logs/keepalived.log
EOF
4)配置 keepalived 主配置文件
cat > /data/software/keepalived/etc/keepalived/keepalived.conf <<'EOF'
global_defs {
# 路由id,主备节点不能相同
router_id node1
notification_email {
# email 接收方
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
# email 发送方
notification_email_from Alexandre.Cassen@firewall.loc
# 邮件服务器, smtp 协议
smtp_server SMTP.qq.com
smtp_connect_timeout 30
vrrp_skip_check_adv_addr
# 使用 unicast_src_ip 需要注释 vrrp_strict,而且也可以进行 ping 测试
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
# 自定义监控脚本
vrrp_script chk_haproxy {
# 脚本位置
script "/data/software/keepalived/etc/keepalived/haproxy_check.sh"
# 脚本执行的时间间隔
interval 5
weight 10
}
vrrp_instance VI_1 {
# Keepalived的角色,MASTER 表示主节点,BACKUP 表示备份节点
state MASTER
# 指定监测的网卡,可以使用 ifconfig 进行查看
interface eth0
# 虚拟路由的id,主备节点需要设置为相同
virtual_router_id 51
# 优先级,主节点的优先级需要设置比备份节点高
priority 100
# 设置主备之间的检查时间,单位为秒
advert_int 1
# 如果两节点的上联交换机禁用了组播,则采用 vrrp 单播通告的方式
unicast_src_ip 172.17.0.31 # 本机内网 IP
unicast_peer {
##对端设备的 IP 地址,也称着为备用节点的IP地址
172.17.0.32
}
# 定义验证类型和密码
authentication {
auth_type PASS
auth_pass 123456
}
# 调用上面自定义的监控脚本
track_script {
chk_haproxy
}
virtual_ipaddress {
# 虚拟IP地址,可以设置多个
# 腾讯后台申请HAVIP,https://cloud.tencent.com/document/product/215/36691
172.17.0.120
}
}
EOF
5)根据自己的情况去修改主配置文件(包括两台服务器都要修改)
如果要配置邮件发送信息的,可以自行百度的修改,这个不是必要的
6)配置 keepalived 监控 haproxy 的脚本
cat > /data/software/keepalived/etc/keepalived/haproxy_check.sh <<'EOF'
#!/bin/bash
# 判断haproxy是否已经启动
if [ `ps -C haproxy --no-header |wc -l` -eq 0 ] ; then
#如果没有启动,则启动
/data/software/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg
fi
#睡眠3秒以便haproxy完全启动
sleep 3
#如果haproxy还是没有启动,此时需要将本机的keepalived服务停掉,以便让VIP自动漂移到另外一台haproxy
if [ `ps -C haproxy --no-header |wc -l` -eq 0 ] ; then
systemctl stop keepalived
fi
EOF
7)配置 systemctl 管理 keepalived 服务
cat > /usr/lib/systemd/system/keepalived.service <<'EOF'
[Unit]
Description=LVS and VRRP High Availability Monitor
After=network-online.target syslog.target
Wants=network-online.target
Documentation=man:keepalived(8)
Documentation=man:keepalived.conf(5)
Documentation=man:genhash(1)
Documentation=https://keepalived.org
[Service]
Type=simple
PIDFile=/run/keepalived.pid
KillMode=process
EnvironmentFile=-/data/software/keepalived/etc/sysconfig/keepalived
ExecStart=/data/software/keepalived/sbin/keepalived $KEEPALIVED_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOF
十九、启动 keepalived 和 haproxy 服务
1)添加 keepalived 和 haproxy 用户
useradd -s /sbin/nologin keepalived
useradd -s /sbin/nologin haproxy
2)修改权限
chown -R keepalived:keepalived /data/software/keepalived/
chown -R haproxy:haproxy /data/software/haproxy/
3)启动服务,并设置开机自启
# 重启管理日志服务(rsyslogd)
systemctl restart rsyslog.service
# 重新加载新的服务配置文件
systemctl daemon-reload
# 设置 keepalived 开机自启,并启动服务
systemctl enable --now keepalived
# 设置 haproxy 开机自启,并启动服务
systemctl enable --now haproxy
4)检查启动情况(两台服务器都操作)
# 检查进程
ps ax | grep -E 'haproxy|keepalived'
# 检查端口
netstat -untpl | grep 3544
# 检查IP地址,理论上应该是在 mq01 上的
ip add | grep 120
二十、测试IP地址能否漂移
# 关掉 mq01中的 keepalived 服务,并查看 mq02 的IP地址
systemctl stop keepalived.service # mq01 服务器上操作
ip add | grep 120 # mq02 服务器上操作
测试看到是能漂移到 mq02 服务器上的,再次启动 mq01 上的 keepalived 服务,并查看 mq01 和 mq02 的IP地址
systemctl start keepalived.service # mq01 服务器上操作
ip add | grep 120 # mq01 服务器上操作
# mq02 服务器上操作,可以看到 mq02 服务器上已经没有了 172.17.0.120 的VIP地址
ip add | grep 120
# 至此,MQ集群部署完成