小阿轩yx-LVS+Keepalived群集

小阿轩yx-LVS+Keepalived群集

Keepalived 双机热备份基础知识

  • 起初是专门针对 LVS 设计的一款强大的辅助工具
  • 主要用来提供故障切换(Failover)和健康检査(HealthChecking)功能—判断LVS 负载调度器、节点服务器的可用性
  • 当 master 主机出现故障及时切换到backup 节点保证业务正常
  • 当master 故障主机恢复后将其重新加入群集并且业务重新切换回 master 节点

Keepalived 概述及安装

官方网站 http://www.keepalived.org/

  • 非 LVS 群集环境中使用时,Keepalived 也可以作为热备软件使用
Keepalived 的热备方式
  • 采用 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备功能。
  • VRRP是针对路由器的一种备份解决方案—由多台路由器组成一个热备组,通过共用的虚拟 IP地址对外提供服务;
  • 每个热备组内同一时刻只有一台主路由器提供服务,其他路由器处于冗余状态。
  • 若当前在线的路由器失效,则其他路由器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务
  • 热备组内的每台路由器都可能成为主路由器,虚拟路由器的IP地址(VIP)可以在热备组内的路由器之间进行转移,别称:漂移 IP地址
  • 使用 Keepalived 时,漂移地址的实现不需要手动建立虚接口配置文件(如 ens33:0),而是由Keepalived 根据配置文件自动管理。

Keepalived 的安装与服务控制

安装 Keepalived

首先关闭防火墙、内核机制,还要再关闭网络软件包

[root@localhost ~]# systemctl stop NetworkManager
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld

安装 Keepalived ipvsadm 所需软件包 

[root@localhost ~]# yum -y install keepalived ipvsadm

安装之后设置开机启动

[root@localhost ~]# systemctl enable keepalived

使用 Keepalived 实现双机热备

  • 基于 VRRP的热备方式,Keepalived可以用作服务器的故障切换
  • 每个热备组可以有多台服务器—最常用的就是双机热备
  • 双机热备方案中,故障切换主要针对虚拟 IP地址的漂移来实现,因此能够适用于各种应用服务器(不管是 Web、FTP、Mail,还是 SSH、DNS……)。
  • 主、备服务器中都需要安装Keepalived,使用 YUM 方式安装 httpd 提供 Web 服务。

主服务器的配置
  • Keepalived 服务的配置目录位于/etc/keepalived/。
  • keepalived.conf 是主配置文件。
  • 另外包括一个子目录 samples/
  • 在 Keepalived 的配置文件中,使用“global defs {…}”区段指定全局参数,使用vrrp_instance 实例名称{…}”区段指定 VRRP 热备参数,注释文字以“!”符号开头。

关闭防火墙

[root@localhost ~]# systemctl stop firewalld

进入keepalived文件 

[root@localhost ~]# cd /etc/keepalived/

复制keepalived文件 

[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak

  全局定义又包括两个子配置

[root@localhost keepalived]# vim keepalived.conf
//全局定义
global_defs {//本路由器(服务器)的名称router_id HA_TEST_R1notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id LVS_01vrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}//定义 VRRP 热备实例
vrrp_instance VI_1 {//热备状态,MASTER 表示主服务器state MASTER//承载 VIP 地址的物理接口interface ens33//虚拟路由器的ID号,每个热备组保持一致virtual_router_id 1//优先级,数值越大优先级越高priority 100//通告间隔秒数(心跳频率)advert_int 1//认证信息,每个热备组保持一致authentication {//认证类型auth_type PASS//密码字串auth_pass 1111}//指定漂移地址(VIP),可以有多个virtual_ipaddress {192.168.10.172}
}

vrrp_strict #严格执行VRRP协议规范,此模式不支持节点单播,如果配置了此参数,vip可以漂移到这台服务器,但是ping vip不通,因此需要将此参数去掉

notification_email: 表示keepalived在发生诸如切换操作时需要发送email通知以及email发送给哪些邮件地址邮件地址可以多个每行一个

notification_email_from admin@example.com: 表示发送通知邮件时邮件源地址是谁

smtp_server 127.0.0.1: 表示发送email时使用的smtp服务器地址这里可以用本地的sendmail来实现

smtp_connect_timeout 30: 连接smtp连接超时时间

router_id node1: 机器标识,fa

启动 Keepalived 服务

[root@localhost keepalived]# systemctl start keepalived

用 ip 命令查看自动添加 VIP 地址

[root@localhost keepalived]# ip a
2: ns33: <BROADCAST,MULTICAST,UP, LOWER UP>mtu 1500 qdisc pfifo fast state UP qlen1000link/ether 00:0c:29:93 :80:fb brd ff:ff:ff:ff:ff:ffinet 172.16.16.173/24 brd 172.16.16.255 scope global ens33valid lft forever preferred lft forever//自动设置的 VIP 地址inet 172.16.16.172/32 scope global ens33valid lft forever preferred lft foreverinet6 fe80::56be:f27:2b9b:823e/64 scope linkvalid lft forever preferred lft forever
备用服务器的配置 

同一个 Keepalived 热备组中,所有服务器 Keepalived 配置文件基本相同,包括虚拟路由器

  • ID 号
  • 认证信息
  • 漂移地址
  • 心跳频率

不同之处主要在于

  • 路由器名称
  • 热备状态
  • 优先级

路由器名称

  • 建议为每个参与热备的服务器指定不同的名称

热备状态

  • 至少应有一台主服务器,将状态设为MASTER;可以有多台备用的服务器,将状态设为 BACKUP

优先级

  • 数值越大则取得 VIP 控制权的优先级越高,因此主服务器的优先级应设为最高;其他备用服务器的优先级可依次递减,但不要相同,以免在争夺 VIP 控制权时发生冲突

配置备用服务器(可以有多台)时,可以参考主服务器的keepalived.conf 配置文件内容

只需修改

  • 路由器名称
  • 热备状态
  • 优先级

关闭防火墙、内核机制,还要再关闭网络软件包

[root@localhost ~]# systemctl stop NetworkManager
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld

进入 keepalived

[root@localhost ~]# cd /etc/keepalived/

 复制 keepalived 文件

[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak

修改 keepalived 文件

[root@localhost keepalived]# vi keepalived.conf
global_defs {//本路由器(服务器)的名称router_id HA_TEST_R2
}notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.loc#vrrp_strictsmtp_server 192.168.200.1smtp_connect_timeout 30router_id LVS_02
}vrrp_instance VI_1 {//热备状态,BACKUP表示备用服务器state BACKUPinterface ens33virtual_router_id 1//优先级,数值应低于主服务器priority 99advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.10.172}
}

启动 Keepalived 服务

[root@localhost ~]# systemctl start keepalived

使用 ip 命令查看地址

[root@localhost keepalived]# ip a
2: ns33: <BROADCAST,MULTICAST,UP, LOWER UP>mtu 1500 qdisc pfifo fast state UP qlen1000link/ether 00:0c:29:93 :80:fb brd ff:ff:ff:ff:ff:ffinet 172.16.16.174/24 brd 172.16.16.255 scope global ens33valid lft forever preferred lft foreverinet6 fe80::56be:f27:2b9b:823e/64 scope linkvalid lft forever preferred lft forever

使用 curl 命令测试虚拟  ip 连通性

[root@localhost ~]# curl 192.168.10.172
测试双机热备功能

Keepalived 的日志消息保存在/var/log/messages 文件中,在测试主、备故障自动切换功能时,可以跟踪此日志文件来观察热备状态的变化。以针对连通性和 Web 服务的测试为例

连通性测试

  • 在客户机中执行“ping-t 172.16.16.172”命令,能够正常、持续 ping通,根据以下操作继续观察测试结果。
  • 停止启用主服务器的 Keepalived 服务,发现 ping 测试只中断了1或2个包即恢复正常,说明己有其他服务器接替 VIP地址,并及时响应客户机请求。
  • 重新启用主服务器的 Keepalived 服务,发现 ping 测试再次中断1或2个包即恢复正常,说明主服务器已恢复正常,并夺回 VIP 地址的控制权。

web访问测试

  • 客户机中访问 http://172.16.16.172/,将看到由主服务器 172.16.16.173 提供的网页文档
  • 停止启用主服务器的Keepalived 服务,再次访问上述 Web 服务,将看到由备用服务器 172.16.16.174 提供的网页文档,说明 VIP 地址已切换至备用服务器
  • 重新启用主服务器的 Keepalived 服务,再次访问上述 Web 服务,将看到重新由主服务器 172.16.16.173 提供的网页文档,说明主服务器已重新夺取 VIP 地址

查看日志记录

  • 在执行主、备服务器故障切换的过程中,分别观察各自的/var/log/messages 日志文件,可以看到 MASTER、SLAVE 状态的迁移记录。
  • 主服务器中,Keepalived 服务状态先变为“stop”,移除 VIP 地址,恢复后重新变为 MASTER
  • 备用服务器中,状态先切换为 MASTER,待主服务器恢复后再交回控制权

LVS+Keepalived 高可用群集

  • Keepalived 的设计目标是构建高可用的 LVS 负载均衡群集
  • 可以调用 ipvsadm 工具来创建虚拟服务器、管理服务器池,而不仅仅用作双机热备。
  • 使用Keepalived 构建 LVS 群集更加简便易用

主要优势体现

  • 对LVS负载调度器实现热备切换,提高可用性;
  • 对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入。

  • 使用 Keepalived 构建 LVS 群集时,也需要用到 ipvsadm 管理工具
  • 但大部分工作会由 Keepalived 自动完成

配置主调度器

全局配置、热备配置

关闭防火墙、内核机制,还要关闭网络软件包

[root@localhost ~]# systemctl stop NetworkManager
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld

安装 Keepalived ipvsadm 软件包

[root@localhost ~]# yum -y install keepalived ipvsadm

启动 Keepalived 服务

[root@localhost ~]# systemctl start keepalived

 进入 Keepalived 目录并复制 Keepalived 文件

[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak

主服务器 Keepalived 配置

[root@localhost keepalived]# vim keepalived.conf
global_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.loc//注释掉#vrrp_strictsmtp_server 192.168.200.1smtp_connect_timeout 30//主调度器的名称router_id LVS_01
}vrrp_instance VI_1 {//主调度器的热备状态state MASTERinterface ens33virtual_router_id 51//主调度器的优先级priority 100advert_int 1authentication {//主、从热备认证信息auth_type PASSauth_pass 1111}virtual_ipaddress {//指定群集 VIP 地址192.168.10.172}
}virtual_server 192.168.10.172 80 {delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0
!    persistence_timeout 50protocol TCPreal_server 192.168.10.103 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 192.168.10.104 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}

persistence_timeout 50:这个参数的意义是保持客户端的请求在这个时间段内全部发到同一个真实服务器

主服务器内核参数配置

[root@localhost ~]# vim /etc/sysctl.conf
//在末尾添加
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

重载 

[root@localhost ~]# sysctl -p

重启 Keepalived 服务

[root@localhost keepalived]# systemctl restart keepalived
[root@localhost keepalived]# ip add show dev ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:ae:7f:64 brd ff:ff:ff:ff:ff:ffinet 192.168.10.101/24 brd 172.16.16.255 scope global ens33valid_lft forever preferred_lft foreverinet 192.168.10.172/32 scope global ens33valid_lft forever preferred_lft forever

配置从调度器

与主调度器基本相同,也包括

  • 全局配置
  • 热备配置
  • 服务器池配置

只需调整下面参数

  • router_id
  • state
  • priority

关闭防火墙、内核机制,还要关闭 NetworkManager

[root@localhost ~]# systemctl stop NetworkManager
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld

安装 Keepalived 服务

[root@localhost ~]# yum -y install keepalived ipvsadm

启动服务

[[root@localhost ~]# systemctl start keepalived

进入 Keepalived 目录

[root@localhost ~]# cd /etc/keepalived/

复制 Keepalived 文件 

[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak

修改 Keepalived 文件

[root@localhost keepalived]# vim keepalived.conf
global_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.loc#vrrp_strictsmtp_server 192.168.200.1smtp_connect_timeout 30//从调度器名称router_id LVS_02
}vrrp_instance VI_1 {//从调度器热备状态state BACKUPinterface ens33virtual_router_id 51//从调度器优先级priority 99advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.10.172}
}virtual_server 192.168.10.172 80 {delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0
!    persistence_timeout 50protocol TCPreal_server 192.168.10.101 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 192.168.10.102 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}
}

从调度器内核参数的配置

[root@localhost ~]# vim /etc/sysctl.conf
//在末尾添加
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

重载 

[root@localhost ~]# sysctl -p

重启 Keepalived 服务

[root@localhost keepalived]# systemctl restart keepalived
服务器池配置

web01 服务器配置

关闭防火墙

[root@localhost ~]# systemctl stop firewalld

安装 httpd 服务

[root@localhost ~]# yum -y install httpd

进入网络目录

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

复制 lo 文件

[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0

修改 lo:0 文件

[root@localhost network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.10.172
NETMASK=255.255.255.255
ONBOOT=yes

添加配置文件 

[root@localhost network-scripts]# vim /etc/rc.local
/sbin/route add -host 192.168.10.172 dev lo:0

添加路由

[root@localhost network-scripts]# route add -host 192.168.10.172 dev lo:0

 内核参数设置 

[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

添加测试页面 

[root@localhost ~]# vim /var/www/html/index.html
test web01

重启网络服务

[root@localhost network-scripts]# systemctl restrt network

web02 服务配置

关闭防火墙

[root@localhost ~]# systemctl stop firewalld

安装 httpd 服务 

[root@localhost ~]# yum -y install httpd

进入 network 目录

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

复制 lo 文件

[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0

修改 lo:0 文件

[root@localhost network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.10.172
NETMASK=255.255.255.255
ONBOOT=yes

添加配置文件

[root@localhost network-scripts]# vim /etc/rc.local
/sbin/route add -host 192.168.10.172 dev lo:0

内核参数设置 

[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

添加测试页面 

[root@localhost ~]# vim /var/www/html/index.html
test web02

 添加路由

[root@localhost network-scripts]# route add -host 192.168.10.172 dev lo:0

重启服务 

[root@localhost network-scripts]# systemctl restrt network
测试LVS+Keepalived高可用性

客户端访问网站

[root@localhost ~]# curl 192.168.10.172

刷新页面并观察网页的变化

客户端使用脚本测试

[root@localhost ~]# for i in $(seq 10);do curl http://192.168.10.172;done

生产环境中可以使用NFS服务器保证网站代码的一致性,在测试环境中为了观察效果,web服务器池中的网站代码可以不一样,更加便于观察实验效果。

测试计算机不要使用master调度器,在master调度器上访问VIP时,调度器不会将访问的请求调度到web服务器,而是自己尝试解析;在web服务器上测试时只能访问到自己的网页,无法实现调度。所以客户端一定要使用独立的测试计算机,或者使用处于BACKUP状态的调度器。

小阿轩yx-LVS+Keepalived群集

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/41543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动手学深度学习(Pytorch版)代码实践 -循环神经网络-51序列模型

51序列模型 import torch from torch import nn from d2l import torch as d2l import matplotlib.pyplot as pltT 1000 # 总共产生1000个点 time torch.arange(1, T 1, dtypetorch.float32) x torch.sin(0.01 * time) torch.normal(mean0, std0.2, size(T,)) d2l.plot(…

ERROR | Web server failed to start. Port 8080 was already in use.

错误提示&#xff1a; *************************** APPLICATION FAILED TO START ***************************Description:Web server failed to start. Port 8080 was already in use.Action:Identify and stop the process thats listening on port 8080 or configure thi…

2024年特种设备(电梯作业)题库考试题库

1.直接作用式液压电梯轿厢与柱塞&#xff08;缸筒&#xff09;之间的连接应为&#xff08;&#xff09;。 A.刚性连接 B.固定连接 C.法兰连接 D.挠性连接 答案&#xff1a;D 2.正常情况下&#xff0c;当电磁式继电器线圈得电时&#xff0c;其常开触点将&#xff08;&…

二进制求和、字符串相加-sting类题型

67. 二进制求和 - 力扣&#xff08;LeetCode&#xff09; 两个题目方法完全一样 用两个数据的末尾位相加&#xff0c;从末尾位开始逐位相加&#xff0c;记录进位&#xff1b; class Solution { public:string addBinary(string a, string b) {int end1 a.size() - 1;int end…

ASUS/华硕飞行堡垒9 FX506H FX706H系列 原厂win10系统 工厂文件 带F12 ASUS Recovery恢复

华硕工厂文件恢复系统 &#xff0c;安装结束后带隐藏分区&#xff0c;一键恢复&#xff0c;以及机器所有驱动软件。 系统版本&#xff1a;Windows10 原厂系统下载网址&#xff1a;http://www.bioxt.cn 需准备一个20G以上u盘进行恢复 请注意&#xff1a;仅支持以上型号专用…

昇思25天学习打卡营第18天|Pix2Pix实现图像转换

Pix2Pix概述 Pix2Pix是基于条件生成对抗网络实现的一种深度学习图像转换模型。Pix2Pix是将cGAN应用于有监督的图像到图像翻译&#xff0c;包括生成器和判别器。 基础原理 cGAN的生成器是将输入图片作为指导信息&#xff0c;由输入图像不断尝试生成用于迷惑判别器的“假”图像…

实现沉浸式体验的秘诀:深入了解折幕投影技术!

在当今多媒体技术的浪潮中&#xff0c;投影技术已蜕变成为超越传统内容展示范畴的非凡工具&#xff0c;它深度融合了互动性与沉浸感&#xff0c;成为连接观众与虚拟世界的桥梁。折幕投影技术&#xff0c;作为这一领域的璀璨明珠&#xff0c;更是以其独特而神奇的手法&#xff0…

lua入门(2) - 数据类型

前言 本文参考自: Lua 数据类型 | 菜鸟教程 (runoob.com) 希望详细了解的小伙伴还请查看上方链接: 八个基本类型 type - 函数查看数据类型: 测试程序: print(type("Hello world")) --> string print(type(10.4*3)) --> number print(t…

WEB安全-靶场

1 需求 2 语法 3 示例 男黑客|在线渗透测试靶场|网络安全培训基地|男黑客安全网 4 参考资料

中英双语介绍伦敦大学学院(University College London,UCL)

中文版 伦敦大学学院&#xff08;UCL&#xff09;简介 位置和周边环境 伦敦大学学院&#xff08;University College London&#xff0c;简称UCL&#xff09;位于英国伦敦市中心的布卢姆斯伯里&#xff08;Bloomsbury&#xff09;区。具体地址为&#xff1a; Gower Street, …

C语言 -- 扫雷游戏

C语言 – 扫雷游戏 游戏规则&#xff1a; 给定一个棋盘&#xff0c;玩家需要排查出所有隐藏的雷&#xff0c;也就是选择出所有不是雷的地方。 玩家选择位置&#xff0c;若此处有雷&#xff0c;玩家被炸死&#xff0c;游戏结束&#xff1b; 若此处无雷&#xff0c;此处提示周围一…

12.SQL注入-盲注基于时间(base on time)

SQL注入-盲注基于时间(base on time) boolian的盲注类型还有返回信息的状态&#xff0c;但是基于时间的盲注就什么都没有返回信息。 输入payload语句进行睡5秒中&#xff0c;通过开发这工具查看时间&#xff0c;如图所示&#xff0c;会在5秒钟后在执行&#xff0c;因此存在基于…

基于Java技术的篮球论坛系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言 Java 数据库 MySQL 技术 B/S模式、Java技术 工具 Visual Studio、MySQL数据库开发工具 系统展示 首页 用户注册界面 篮球论坛界面 个人中心界面 摘要 本…

Vite: 近几个版本的更新

概述 在 2021 年 2 月&#xff0c;尤大正式推出了 Vite 2.0 版本&#xff0c;可以说是 Vite 的一个重要转折点&#xff0c;自此之后 Vite 的用户量发生了非常迅速的增长&#xff0c;很快达到了每周 100 万的 npm 下载量。同时&#xff0c;Vite 的社区也越来越活跃&#xff0c;…

机器学习原理之 -- XGboost原理详解

XGBoost&#xff08;eXtreme Gradient Boosting&#xff09;是近年来在数据科学和机器学习领域中广受欢迎的集成学习算法。它在多个数据科学竞赛中表现出色&#xff0c;被广泛应用于各种机器学习任务。本文将详细介绍XGBoost的由来、基本原理、算法细节、优缺点及应用场景。 X…

14-38 剑和诗人12 - RAG+ 思维链 ⇒ 检索增强思维(RAT)

在快速发展的 NLP 和 LLM 领域&#xff0c;研究人员不断探索新技术来增强这些模型的功能。其中一种备受关注的技术是检索增强生成 (RAG) 方法&#xff0c;它将 LLM 的生成能力与从外部来源检索相关信息的能力相结合。然而&#xff0c;最近一项名为检索增强思维 (RAT) 的创新通过…

Go基础知识

目标 简单介绍一下 GO 语言的诞生背景&#xff0c;使用场景&#xff0c;目前使用方案简单介绍一下 GO的使用&#xff0c;GO的基础语法&#xff0c;简单过一下一些GO的语言例子着重介绍一下GO的特性&#xff0c;为什么大家都使用GO语言&#xff0c;GO的内存结构、为什么都说GO快…

【笔记】记一次在linux上通过在线安装mysql报错 CentOS 7 的官方镜像已经不再可用的解决方法+mysql配置

报错&#xff08;恨恨恨恨恨恨恨&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff09;&#xff1a; [rootlocalhost ~]# sudo yum install mysql-server 已加载插件&#xff1a;fastestmirror, langpacks Determining fastest mirrors Could not retrie…

Unity中使用VectorGraphics插件时,VectorUtils.RenderSpriteToTexture2D方法返回结果错误的解决方法

Unity中使用VectorGraphics插件时&#xff0c;如果使用VectorUtils.BuildSprite方法创建Sprite&#xff0c;那么得到的Sprite往往是一个三角网格数比较多的Sprite&#xff0c;如果想要得到使用贴图只有两个三角面的方形Sprite&#xff0c;可以使用该插件提供的VectorUtils.Rend…

数据库概念题总结

1、 2、简述数据库设计过程中&#xff0c;每个设计阶段的任务 需求分析阶段&#xff1a;从现实业务中获取数据表单&#xff0c;报表等分析系统的数据特征&#xff0c;数据类型&#xff0c;数据约束描述系统的数据关系&#xff0c;数据处理要求建立系统的数据字典数据库设计…