Keepalived 实现 Kibana 的高可用

简介: Keepalived 实现 Kibana 的高可用



前言

       Keepalived 是一个用于实现高可用性的开源软件,通常用于在多个服务器之间提供故障转移和负载均衡。结合 Keepalived 和 Kibana 可以实现 Kibana 的高可用性,确保即使在某一节点故障的情况下,用户仍然能够访问和使用 Kibana。以下来介绍这一方案的实现

一、 Keepalived 安装部署

    Keepalived 通过虚拟ip绑定物理机网络接口的方式实现目标服务的高可用代理,被代理的服务上都需要安装 Keepalived

   环境信息:

 实际ip 192.168.122.118、192.168.122.119
虚拟ip 192.168.122.135

1.1 准备工作

yum install -y gcc gcc-c++ wget popt-devel openssl openssl-devel
 
yum install -y libnl libnl-devel libnl3 libnl3-devel
 
yum install -y libnfnetlink-devel

1.2 下载安装包并解压

 官网下载地址: Keepalived for Linux

tar -zxvf keepalived-2.2.8.tar.gz

1.3 编译

 进入解压好的keepalived目录

./configure --prefix=/software/keepalived
 
make && make install

1.4 创建服务文件夹

mkdir /etc/keepalived

1.5 创建服务文件

cd /etc/keepalived
vim keepalived.conf
# 输入以下内容
 
#master
global_defs {
  notification_email {
  }
  router_id LVS_DEVEL
  vrrp_skip_check_adv_addr
  vrrp_garp_interval 0
  vrrp_gna_interval 0
 
}
 
vrrp_script check_kibana {
 
    script "/opt/module/chk_kibana.sh"       #这个是检测脚本,当挂了之后做的事情
 
    interval 22
 
    weight 2
 
}
 
vrrp_instance VI_1 {
 
    state BACKUP #两台配置此处均是BACKUP,设为BACKUP将根据优先级决定主或从
 
    interface ens160 #绑定的网卡, 用 ip addr 命令查看本机网卡名字
 
    virtual_router_id 66 #虚拟路由标识,这个标识是一个数字(取值0-255之间)确保和slave相同,同网内不同集群此项必须不同,否则发生冲突。
 
    priority 100 #用来选举master的,(取值0-255之间),此处master上设置为100,其他备用节点必须比这个值小
 
    advert_int 1 #多久进行一次master选举(单位:s,可以认为是健康查检时间间隔)
 
    nopreempt #不抢占,即允许一个priority比较低的节点作为master
 
    authentication {
 
        auth_type PASS #认证区域
 
        auth_pass 1111 # 节点通讯密码 ,不同节点的通讯方式和密码必须一样
 
    }
 
    track_script {
 
        check_kibana #指定核对的脚本,check_kibana是上述自定义的,这端配置必须写在“vrrp_script check_kibana ”这段配置的后面
 
    }
 
    virtual_ipaddress {
 
        192.168.122.135/24  #虚拟ip,如果master宕机,虚拟ip会自动漂移到slave上,虚拟ip必须和实际的ip在同一个网段
 
    }
}
 
virtual_server 192.168.122.135 5601 {
   delay_loop 3 #健康检查时间间隔,单位秒
   lb_algo rr #负载调度算法,支持的算法:rr|wrr|lc|wlc|lblc|sh|dh
   lb_kind DR #LVS的类型:有NAT|DR|TUN
   persistence_timeout 50 #会话保持时间,单位秒(可以适当延长时间以保持session)
   protocol TCP #转发协议类型,有TCP和UDP两种
   real_server 192.168.122.118 5601 { #定义RS 服务
      weight 1 #权重
   }
}

1.6 创建检测脚本

vim /opt/module/chk_kibana.sh
# 输入以下内容
 
#!/bin/bash
port_num=$(ss -nltp|grep -wc 5601)
 
if [ $port_num -eq 0 ];then
 
    pkill keepalived
 
fi
# 权限处理
chmod +x chk_kibana.sh
 
sed -i 's/\r$//' chk_kibana.sh

二、启动keepalived

systemctl start keepalived.service

三、检测是否安装成功

3.1 查看服务状态

systemctl status keepalived.service

3.2  查看网络接口绑定情况

ip addr

使用上述命令,会看到有且只有一个机器的网卡绑定了虚拟ip

四、注意事项

4.1  Kibana 不能绑定具体的ip

server.host: "0.0.0.0"

4.2  防火墙开放5601、112端口

相关文章
|
6月前
使用Keepalived实现简单的GrayLog高可用
使用Keepalived实现简单的GrayLog高可用
67 0
|
6月前
【优化篇】使用Keepalived实现简单的GrayLog高可用
【优化篇】使用Keepalived实现简单的GrayLog高可用
70 0
|
tengine 负载均衡 应用服务中间件
Nginx+Keepalived高可用集群部署详细文档
Nginx+Keepalived高可用集群部署详细文档
|
负载均衡 NoSQL 关系型数据库
Nginx+keepalived实现高可用集群
大型企业架构一般是用户先访问到四层负载均衡,在由四层负载均衡转发至七层服务在均衡,七层负载均衡再转发至后端服务器,四层负载均衡只起到一个分流的作用,根据用户访问的端口,比如说80端口就会跳转至七层的对应的集群,两台四层负载均衡配置是一模一样的,形成高可用,七层的配置也是一模一样的,当有1500个请求需要响应时,四层负载均衡就会平均将1500个请求分给急群中的lb,每个lb响应500个请求,减轻单点的压力。
1702 0
Nginx+keepalived实现高可用集群
|
域名解析 负载均衡 应用服务中间件
|
网络架构
Keepalived 介绍、安装、配置(高可用)
1、keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。 2、VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。
1218 0
|
监控 关系型数据库 MySQL