keepalived+LVS+Nginx+Netty接收数据并发送到Kafka
链接参考文档 LVS+Keepalived项目
规划两台 LVS服务器,两台NGinx服务器,两台部署Netty程序服务器
组件 | 节点地址 | 主机名称 | 虚拟ip/端口 |
---|---|---|---|
LVS+keepalived | 172.25.94.154 | -0007 | 172.25.94.187 |
LVS+keepalived | 172.25.94.153 | -0006 | 172.25.94.187 |
Nginx | 172.11.94.152 | -0005 | 8050 |
Nginx | 172.11.94.151 | -0004 | 8050 |
Netty | 172.11.94.150 | -0003 | 8050 |
Netty | 172.11.94.149 | -0002 | 8050 |
Kafka | 172.11.94.150 | -0003 | 8092 |
Kafka | 172.11.94.149 | -0002 | 8092 |
Kafka | 172.11.94.148 | -0001 | 8092 |
华为云服务器 安装LVS 需要 VPC产品(做虚拟IP)。需要提前联系IT部门在控制台页面做虚拟ip绑定
1 安装LVS + Keepalived
#查看网卡 eth0
ifconfig
#执行 虚拟ip:172.25.94.187 广播地址(不变):172.25.94.191 子网掩码(不变):255.255.255.192 up:立即启用vip(虚拟ip)
ifconfig eth0:1 172.25.94.187 broadcast 172.25.94.191 netmask 255.255.255.192 up
#查看当前网卡信息
ip asudo yum install keepalived //安装keepalivedsystemctl start keepalived //启动keepalivedsystemctl enable keepalived //加入开机启动keepalivedsystemctl restart keepalived //重新启动keepalivedsystemctl status keepalived //查看keepalived状态
LVS 模块内嵌lvs模块,只需要ipvsadm和keepalived安装
链接LVS 配置命令
#查看Linux 内核版本
uname -r
#查看内核是否集成lvs模块
find /lib/modules/$(uname -r)/ -iname "**.ko*" | cut -d/ -f5-
#安装LVS管理工具:ipvsadm
yum install -y gcc gcc-c++ makepcre pcre-devel kernel-devel openssl-devel libnl-devel popt*
yum -y install ipvsadm
#启动ipvs
sudo ipvsadm
#查看是否支持lvs
sudo lsmod |grep ip_vs
#查看ipvsadm 版本
ipvsadm -v
#服务器添加路由规则
route add -host 172.25.94.187 dev ens33:0
#启用系统的包转发功能 #1:启用ip转发,0:禁止ip转发
echo "1" >/proc/sys/net/ipv4/ip_forward
#清除原有转发规则
ipvsadm --clear
#添加虚拟ip规则ipvsadm -A -t 172.25.94.187:8043 -s rripvsadm -a -t 172.25.94.187:8043 -r 172.25.94.151:8043 -gipvsadm -a -t 172.25.94.187:8043 -r 172.25.94.152:8043 -gipvsadm -lipvsadm --set 1 2 1
#查看LVS集群配置
ipvsadm -Ln
#重启LVS
ipvsadm
#添加虚拟Ip规则 也可以修改文件实现
vim /etc/keepalived/keepalived.conf
#keepalived 日志
vim /var/log/message
2 安装Nginx
yum -y nginx#重新加载Nginx配置文件
nginx -s reload
#强制停止Nginx服务
nginx -s stop
#重启nginx
nginx -s reopen
#修改配置文件
vim /etc/nginx/nginx.confnetstat -anput | grep nginx
#Nginx 服务器上一般还需要修改lo网卡 配置成虚拟IP。华为云服务器使用的是Centos 8版本 没有 lo配置文件,通过 ifconfig lo:0 172.25.94.187 netmask 255.255.255.255 broadcast 172.25.94.187 up 华为云服务器不支持修改网卡,所以修改了 eth0网卡配置 ip addr add 172.25.94.187/24 dev eth0