第38讲:Ceph分布式存储集群部署

文章目录

    • 1.Ceph分布式存储集群安装方式
    • 2.Ceph集群环境规划
    • 3.基础环境配置
      • 3.1.设置主机名以及SSH免密登录
      • 3.2.配置Ceph yum源
    • 4.部署Ceph分布式存储集群
      • 4.1.安装Ceph-deploy自动化部署工具
      • 4.2.初始化创建一个Ceph分布集群
      • 4.3.在每个节点中部署Ceph集群所有的组件
      • 4.4.部署并配置Monitor组件
        • 4.4.1.初始化Ceph Monitor各节点形成集群模式
        • 4.4.2.将生成的Monitor admin认证文件推送到集群各节点
      • 4.5.部署配置Manager组件
      • 4.6.部署配置OSD组件
      • 4.7.在集群中部署MDS组件
      • 4.8.在集群中部署RGW组件
      • 4.9.查看集群状态

1.Ceph分布式存储集群安装方式

ceph-deploy:一个快速部署集群的工具,ceph-deploy不再维护,Ceph采用的是Nautilus版本,如果操作系统是CentOS8那么将不支持ceph-deploy方式的搭建。

Cephadm:使用容器和systemd安装和管理Ceph集群,目前比较流行的部署方式,部署Octopus版本的Ceph建议使用此方法。

ceph-ansible:使用Ansible部署和管理 Ceph 集群。

INSTALLATION (MANUAL):手动方式安装,了解部署Ceph的细节。

ROOK:部署和管理在Kubernetes中运行的Ceph集群,同时还支持通过Kubernetes API管理存储资源和配置,如果要与K8S集成,可以使用此种方式。

2.Ceph集群环境规划

由三个节点组成Ceph集群,每一个节点中添加两块网卡,一块网卡用于对外提供访问,一块网卡用于集群内部通信,每一个节点上暂时分别有2块网卡,后期做其他配置时再进行添加。

主机名Poblic通信IP服务硬盘
ceph-node-1192.168.81.70monitor、osdsda、sdb
ceph-node-2192.168.81.80monitor、osdsda、sdb
ceph-node-3192.168.81.90monitor、osdsda、sdb

在这里插入图片描述

3.基础环境配置

3.1.设置主机名以及SSH免密登录

所有节点都按如下进行配置。

1)设置主机名并配置Hosts解析

[root@localhost ~]# hostnamectl set-hostname ceph-node-1
[root@localhost ~]# hostnamectl set-hostname ceph-node-2
[root@localhost ~]# hostnamectl set-hostname ceph-node-3# vim /etc/hosts
192.168.81.70 ceph-node-1
192.168.81.80 ceph-node-2
192.168.81.90 ceph-node-3

2)设置ssh免密登陆

# ssh-keygen 
# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.81.70
# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.81.80
# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.81.90

3)关闭防火墙以及Selinux

# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# sed -ri '/^SELINUX/c SELINUX=disabled' /etc/sysconfig/selinux 
# sed -ri '/^SELINUX/c SELINUX=disabled' /etc/selinux/config 

4)设置ntp时间同步

在Ceph集群中非常注重时间信息,如果时间不同步,那么集群通信就可能会出现问题。

# yum -y install ntp
# crontab -e
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com

3.2.配置Ceph yum源

所有节点都需要配置。

1)使用阿里云镜像源

阿里云镜像源中提供了很多工具的yum源,地址:https://developer.aliyun.com/mirror/

在这里插入图片描述

2)配置Centos7的Base与Epel源

# mkdir /etc/yum.repos.d/back
# mv /etc/yum.repos.d/*  /etc/yum.repos.d/back
# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 
# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3)配置Ceph的镜像源

需要分布配置noarch与x86_64的镜像源。

在这里插入图片描述

# vim /etc/yum.repos.d/ceph.repo
[noarch]
name=noarch
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
enabled=1
gpgcheck=0[x86_64]
name=x86_64
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
enabled=1
gpgcheck=0

在这里插入图片描述

4.部署Ceph分布式存储集群

4.1.安装Ceph-deploy自动化部署工具

我们的Ceph集群采用ceph-deploy的方式进行安装和部署,在集群中任意节点中安装ceph-deploy工具即可。

1.安装依赖的python软件
[root@ceph-node-1 ~]# yum -y install python-setuptools2.安装ceph-deploy
[root@ceph-node-1 ~]# yum -y install ceph-deploy3.查看ceph-deploy安装的版本
[root@ceph-node-1 ~]# ceph-deploy --version
2.0.1

在这里插入图片描述

4.2.初始化创建一个Ceph分布集群

这一步主要是用来生成集群配置文件和认证文件的。

1.创建一个目录存放部署各个组件的配置文件
[root@ceph-node-1 ~]# mkdir /data/ceph-deploy/2.创建一个ceph集群,集群节点数建议是奇数
[root@ceph-node-1 ceph-deploy]# ceph-deploy new --public-network 192.168.81.0/24 --cluster-network 192.168.81.0/24 ceph-node-1 ceph-node-2 ceph-node-3--public-network:指定公共网络地址,也就是对外提供服务的地址。
--cluster-network:指定集群内部使用的网络地址,集群连接通信通过这个网络进行通信。

在这里插入图片描述

3.查看ceph-deploy生成的集群配置文件
[root@ceph-node-1 ceph-deploy]# ll
总用量 12
-rw-r--r--. 1 root root  264 3月  30 21:06 ceph.conf				#配置文件
-rw-r--r--. 1 root root 3038 3月  30 21:06 ceph-deploy-ceph.log		#日志文件,可以查看monitor配置文件的生成过程
-rw-------. 1 root root   73 3月  30 21:06 ceph.mon.keyring			#认证文件
#如果创建集群时没有指定参数,则可以在生成的文件中进行配置。
[root@ceph-node-1 ceph-deploy]# cat ceph.conf
[global]
fsid = 25c120bc-ac9e-440e-8120-89ba5c2b9dc9
public_network = 192.168.81.0/24
cluster_network = 192.168.81.0/24
mon_initial_members = ceph-node-1, ceph-node-2, ceph-node-3
mon_host = 192.168.81.250,192.168.81.220,192.168.81.160
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

4.3.在每个节点中部署Ceph集群所有的组件

1.安装ceph集群各组件
[root@ceph-node-1 ceph-deploy]# yum -y install ceph ceph-mon ceph-mgr ceph-radosgw ceph-mds
[root@ceph-node-2 ~]# yum -y install ceph ceph-mon ceph-mgr ceph-radosgw ceph-mds
[root@ceph-node-3 ~]# yum -y install ceph ceph-mon ceph-mgr ceph-radosgw ceph-mds2.安装完成后会在/var/lib/ceph生成文件
[root@ceph-node-1 ceph-deploy]# ll /var/lib/ceph/
总用量 0
drwxr-x---. 2 ceph ceph  6 6月  30 2021 bootstrap-mds
drwxr-x---. 2 ceph ceph  6 6月  30 2021 bootstrap-mgr
drwxr-x---. 2 ceph ceph  6 6月  30 2021 bootstrap-osd
drwxr-x---. 2 ceph ceph  6 6月  30 2021 bootstrap-rbd
drwxr-x---. 2 ceph ceph  6 6月  30 2021 bootstrap-rbd-mirror
drwxr-x---. 2 ceph ceph  6 6月  30 2021 bootstrap-rgw
drwxr-x---. 3 ceph ceph 20 3月  30 21:46 crash
drwxr-x---. 2 ceph ceph  6 6月  30 2021 mds
drwxr-x---. 2 ceph ceph  6 6月  30 2021 mgr
drwxr-x---. 3 ceph ceph 25 3月  30 21:52 mon
drwxr-x---. 2 ceph ceph  6 6月  30 2021 osd
drwxr-xr-x. 2 root root  6 6月  30 2021 radosgw
drwxr-x---. 2 ceph ceph  6 3月  30 21:53 tmp3.查看ceph的版本
[root@ceph-node-1 ceph-deploy]# ceph -v
ceph version 14.2.22 (ca74598065096e6fcbd8433c8779a2be0c889351) nautilus (stable)

4.4.部署并配置Monitor组件

4.4.1.初始化Ceph Monitor各节点形成集群模式

初始化Monitor组件需要先安装Monitor组件包,然后利用ceph-deploy工具根据生成的集群配置文件,初始化各个节点中的Monitor组件,形成集群模式,初始化完Monitor组件会在/etc/ceph目录中成一些配置文件和一些key文件,并启动Monitor组件。

1.初始化Monitor
[root@ceph-node-1 ceph-deploy]# ceph-deploy mon create-initial 
#初始化的时候会对集群中所有的节点都进行操作2.查看生成的配置文件
#配置文件
[root@ceph-node-1 ceph-deploy]# ll /etc/ceph/
总用量 8
-rw-r--r--. 1 root root 264 3月  30 21:53 ceph.conf
-rw-r--r--. 1 root root  92 6月  30 2021 rbdmap
-rw-------. 1 root root   0 3月  30 21:52 tmpdpAGYU
#key文件
[root@ceph-node-1 ceph-deploy]# ll
总用量 48
-rw-------. 1 root root   113 3月  30 21:53 ceph.bootstrap-mds.keyring
-rw-------. 1 root root   113 3月  30 21:53 ceph.bootstrap-mgr.keyring
-rw-------. 1 root root   113 3月  30 21:53 ceph.bootstrap-osd.keyring
-rw-------. 1 root root   113 3月  30 21:53 ceph.bootstrap-rgw.keyring
-rw-------. 1 root root   151 3月  30 21:53 ceph.client.admin.keyring
-rw-r--r--. 1 root root   264 3月  30 21:06 ceph.conf
-rw-r--r--. 1 root root 18651 3月  30 21:53 ceph-deploy-ceph.log
-rw-------. 1 root root    73 3月  30 21:06 ceph.mon.keyring3.查看ceph进程,此时每个节点都会起到mon组件
[root@ceph-node-1 ceph-deploy]# ps aux | grep ceph
root       25265  0.0  0.4 189132  9172 ?        Ss   21:46   0:00 /usr/bin/python2.7 /usr/bin/ceph-crash
ceph       26057  0.2  1.7 503888 33728 ?        Ssl  21:53   0:00 /usr/bin/ceph-mon -f --cluster ceph --id ceph-node-1 --setuser ceph --setgroup ceph

在这里插入图片描述

4.4.2.将生成的Monitor admin认证文件推送到集群各节点

Monitor组件初始化完成后,还需要将ceph.client.admin.keyring这个admin的认证文件推送到节点的/etc/ceph目录下,否则无法执行ceph命令查看集群信息。

推送完成后再将ceph集群的不安全模式禁用,否则查看集群信息时会提示“mon允许不安全的global_id回收”。

1.推送admin认证文件
[root@ceph-node-1 ceph-deploy]# ceph-deploy admin ceph-node-1 ceph-node-2 ceph-node-3#如果现在想要在其他的节点中执行ceph命令,则可以将admin文件推送到其他的节点。2.查看推送过来的文件
[root@ceph-node-1 ceph-deploy]# ll /etc/ceph/
总用量 12
-rw-------. 1 root root 151 3月  30 22:00 ceph.client.admin.keyring
-rw-r--r--. 1 root root 264 3月  30 22:00 ceph.conf
-rw-r--r--. 1 root root  92 6月  30 2021 rbdmap
-rw-------. 1 root root   0 3月  30 21:52 tmpdpAGYU

在这里插入图片描述

3.禁用ceph的不安全模式
[root@ceph-node-1 ceph-deploy]# ceph config set mon auth_allow_insecure_global_id_reclaim false
#如果不关闭的话,查看集群信息的时候会提示mon is allowing insecure global_id reclaim4.查看ceph集群的信息
[root@ceph-node-1 ceph-deploy]# ceph -scluster:id:     25c120bc-ac9e-440e-8120-89ba5c2b9dc9			#集群的IDhealth: HEALTH_OK									  #集群的健康状态services:mon: 3 daemons, quorum ceph-node-1,ceph-node-2,ceph-node-3 (age 3m)					#monitor组件的节点mgr: no daemons active								  #mgr节点,现在换没有mgrosd: 0 osds: 0 up, 0 in								  #osd节点data:													#资源池信息pools:   0 pools, 0 pgsobjects: 0 objects, 0 Busage:   0 B used, 0 B / 0 B availpgs:     

4.5.部署配置Manager组件

Manager组件是监控组件,在集群中所有的节点中部署。

**注意:**ceph-deploy命令生成的只是配置文件和启动该组件,执行该命令前需要实际的将ceph-mgr包安装好。

1.安装manager组件
[root@ceph-node-1 ceph-deploy]# ceph-deploy mgr create ceph-node-1 ceph-node-2 ceph-node-32.查看mgr组件启动的进程
[root@ceph-node-1 ceph-deploy]# ps aux | grep mgr
ceph       19530 11.7  6.5 1033180 121880 ?      Ssl  11:39   0:01 /usr/bin/ceph-mgr -f --cluster ceph --id ceph-node-1 --setuser ceph --setgroup ceph3.再次查看集群的状态
[root@ceph-node-1 ceph-deploy]# ceph -scluster:id:     25c120bc-ac9e-440e-8120-89ba5c2b9dc9health: HEALTH_WARNOSD count 0 < osd_pool_default_size 3services:mon: 3 daemons, quorum ceph-node-3,ceph-node-2,ceph-node-1 (age 3m)mgr: ceph-node-1(active, since 36s), standbys: ceph-node-2, ceph-node-3		#可以看到mgr已经有三个节点了osd: 0 osds: 0 up, 0 indata:pools:   0 pools, 0 pgsobjects: 0 objects, 0 Busage:   0 B used, 0 B / 0 B availpgs:  

在这里插入图片描述

4.6.部署配置OSD组件

OSD组件是真正存储数据的组件,需要与磁盘关联,每一个OSD组件需要关联至少一块磁盘。

OSD关联数据盘有两种方式:

  • --data指定数据盘,数据直接落入盘中。
  • --journal配合ssd磁盘,首先将数据写入journal,然后在刷到磁盘里,起到一个加速的作用。

OSD组件在前面已经安装过了,下面来配置OSD,将服务器中的两块硬盘都加入到OSD集群中。

ceph-deploy工具一次只能将一个磁盘创建成OSD。

1.将ceph-node-1节点的/dev/sdb、/dev/sdc磁盘加入到osd中
[root@ceph-node-1 ceph-deploy]# ceph-deploy osd create ceph-node-1 --data /dev/sdb
[root@ceph-node-1 ceph-deploy]# ceph-deploy osd create ceph-node-1 --data /dev/sdc2.将ceph-node-2节点的/dev/sdb、/dev/sdc磁盘加入到osd中
[root@ceph-node-1 ceph-deploy]# ceph-deploy osd create ceph-node-2 --data /dev/sdb
[root@ceph-node-1 ceph-deploy]# ceph-deploy osd create ceph-node-2 --data /dev/sdc3.将ceph-node-3节点的/dev/sdb、/dev/sdc磁盘加入到osd中
[root@ceph-node-1 ceph-deploy]# ceph-deploy osd create ceph-node-3 --data /dev/sdb
[root@ceph-node-1 ceph-deploy]# ceph-deploy osd create ceph-node-3 --data /dev/sdc

在这里插入图片描述

OSD创建过程中,会自动配置指定的磁盘,并且启动OSD程序。
在这里插入图片描述

4.集群创建完OSD之后再次查看集群的状态
[root@ceph-node-1 ceph-deploy]# ceph -scluster:id:     25c120bc-ac9e-440e-8120-89ba5c2b9dc9health: HEALTH_OKservices:mon: 3 daemons, quorum ceph-node-3,ceph-node-2,ceph-node-1 (age 15m)mgr: ceph-node-1(active, since 12m), standbys: ceph-node-2, ceph-node-3osd: 6 osds: 6 up (since 66s), 6 in (since 66s)				#显示集群中当下有3个OSDdata:pools:   0 pools, 0 pgsobjects: 0 objects, 0 Busage:   6.0 GiB used, 54 GiB / 60 GiB availpgs: 5.查看OSD的详细信息
[root@ceph-node-1 ceph-deploy]# ceph osd tree
ID CLASS WEIGHT  TYPE NAME            STATUS REWEIGHT PRI-AFF 
-1       0.05878 root default                                 
-3       0.01959     host ceph-node-1                         0   hdd 0.00980         osd.0            up  1.00000 1.00000 4   hdd 0.00980         osd.4            up  1.00000 1.00000 
-5       0.01959     host ceph-node-2                         1   hdd 0.00980         osd.1            up  1.00000 1.00000 5   hdd 0.00980         osd.5            up  1.00000 1.00000 
-7       0.01959     host ceph-node-3                         2   hdd 0.00980         osd.2            up  1.00000 1.00000 3   hdd 0.00980         osd.3            up  1.00000 1.00000 #会显示出每一个节点中的OSD信息

4.7.在集群中部署MDS组件

事先一定要将MDS组件在集群中安装好,然后使用ceph-deploy工具配置MDS组件。

[root@ceph-node-1 ceph-deploy]# ceph-deploy mds create ceph-node-1 ceph-node-2 ceph-node-3

在这里插入图片描述

[root@ceph-node-1 ceph-deploy]# ceph -scluster:id:     25c120bc-ac9e-440e-8120-89ba5c2b9dc9health: HEALTH_OKservices:mon: 3 daemons, quorum ceph-node-3,ceph-node-2,ceph-node-1 (age 2h)mgr: ceph-node-1(active, since 2h), standbys: ceph-node-2, ceph-node-3mds:  3 up:standby					#MDS组件准备就绪osd: 6 osds: 6 up (since 2h), 6 in (since 2h)data:pools:   0 pools, 0 pgsobjects: 0 objects, 0 Busage:   6.0 GiB used, 54 GiB / 60 GiB availpgs:  

4.8.在集群中部署RGW组件

部署好的RGW组件都有单独的访问地址,可以配置Keepalived+nginx/haproxy形成高可用集群。

[root@ceph-node-1 ceph-deploy]# ceph-deploy rgw create ceph-node-1 ceph-node-2 ceph-node-3

在这里插入图片描述

4.9.查看集群状态

到此为止Ceph集群搭建完毕。

在这里插入图片描述

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

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

相关文章

DevOps

DevOps中的Dev指的是Development&#xff08;开发&#xff09;&#xff0c;Ops指的是Operations&#xff08;运维&#xff09;&#xff0c;DevOps就是打通开发运维的壁垒&#xff0c;实现开发运维一体化。 一、项目开发考虑的维度 Dev&#xff1a;怎么开发。 Ops&#xff1a…

基于FPGA的以太网设计(二)

一.以太网硬件架构概述 前文讲述了以太网的一些相关知识&#xff0c;本文将详细讲解以太网的硬件架构 以太网的电路架构一般由MAC、PHY、变压器、RJ45和传输介质组成&#xff0c;示意图如下所示&#xff1a; PHY&#xff1a;Physical Layer&#xff0c;即物理层。物理层定义了…

IO进程--day1

一、定义学生结构体 学生信息&#xff1a;学号&#xff0c;姓名&#xff0c;成绩等编写2个函数 save_stu 和 load_stu save_stu通过 fprintf 将arr数组中的3个学生的所有信息&#xff0c;保存到文件中去 load_stu通过 fscanf 将文件中的3个学生的所有信息&#xff0c;读取到一个…

【cocos creator】输入框滑动条联动小组建

滑动条滑动输入框内容会改变 输入框输入&#xff0c;滑动条位置改变 const { ccclass, property } cc._decorator;ccclass() export default class SliderEnter extends cc.Component {property({ type: cc.Float, displayName: "最大值", tooltip: "" }…

linux设备驱动介绍

目录 一.裸机设备驱动 vs linux设备驱动 1.什么是驱动程序 2.裸机驱动和操作系统驱动有什么区别 3.linux驱动的本质是什么 二.linux设备分类 一.裸机设备驱动 vs linux设备驱动 1.什么是驱动程序 一般来说能让硬件工作起来的程序就是驱动程序,驱动程序提供的是硬件设备操作的…

随机掉落的项目足迹:修改组件库默认样式

需求引入 为了便于讲解&#xff0c;我直接引入案例 在使用element ui的表单组件时&#xff0c;我觉得输入框前面的“文章标题”几个字太小了&#xff0c;想改大一点 解决方法 F12 审查元素&#xff0c;找到“文章标题”对应的代码&#xff0c;发现这个标签对应的类名class&q…

学以致用 SAP HCM 顾问excel函数实战系列

EXCEL函数&#xff1a;在上学的时候&#xff0c;对word、excel、PPT感觉都很简单&#xff0c;稀里糊涂的学&#xff0c;稀里糊涂的忘&#xff0c;然后走向工作岗位的时候&#xff0c;突然发现这三大宝剑无比锋利&#xff0c;可惜自己太菜&#xff0c;曾经努力学习&#xff0c;但…

如何设置 GitLab 密码长度?

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料&#xff1a; 极狐GitLab 60天专业…

【CSS in Depth 2 精译_047】7.2 CSS 响应式设计中的媒体查询原则(上):深入理解媒体查询的类型

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 【第七章 响应式设计】&#xff08;概述&#xff09; 7.1 移动端优先设计原则&#xff08;上篇&#xff09; 7.1.1 创建移动端菜单&#xff08;下篇&#xff09;7.1.2 给视口添加 meta 标签&#xf…

算法笔记day03

目录 1. 大数加法 2.链表相加(二) 3.大数乘法 1. 大数加法 大数加法_牛客题霸_牛客网 算法思路&#xff1a; 这就是一道模拟题&#xff0c;模拟加法列竖式运算的过程。 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0…

用最短长度的绳子把整个花园围起来

给定一个数组 trees&#xff0c;其中 trees[i] [xi, yi] 表示树在花园中的位置。 你被要求用最短长度的绳子把整个花园围起来&#xff0c;因为绳子很贵。只有把 所有的树都围起来&#xff0c;花园才围得很好。 返回恰好位于围栏周边的树木的坐标。 示例 1: 输入: points […

【24最新亲试】ubuntu下载go最新版本

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了工具配置的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于Ubuntu 升级 golang 版本完美步骤进行的&#xff0c;每个知识点的修…

C语言-了解程序环境和预处理看这一篇(超详解)

1.程序环境 在ANSIC的任何一种实现中&#xff0c;都会存在两个不同的环境。第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令&#xff0c;第2种是执行环境&#xff0c;它用于实际执行代码。如下图所示&#xff1a; 1.1 翻译环境 翻译环境会分几个步骤…

大数据处理从零开始————9.MapReduce编程实践之信息过滤之学生成绩统计demo

1.项目目标 1.1 需求概述 现在我们要统计某学校学生的成绩信息&#xff0c;筛选出成绩在60分及以上的学生。 1.2 业务分析 如果我们想实现该需求&#xff0c;可以通过编写一个MapReduce程序&#xff0c;来处理包含学生信息的文本文件&#xff0c;每行包含【学生的姓名&#x…

HCIP--以太网交换安全(二)端口安全

端口安全 一、端口安全概述 1.1、端口安全概述&#xff1a;端口安全是一种网络设备防护措施&#xff0c;通过将接口学习的MAC地址设为安全地址防止非法用户通信。 1.2、端口安全原理&#xff1a; 类型 定义 特点 安全动态MAC地址 使能端口而未是能Stichy MAC功能是转换的…

使用 Vertex AI Gemini 模型和 Elasticsearch Playground 快速创建 RAG 应用程序

作者&#xff1a;来自 Elastic Jeff Vestal 在这篇博客中&#xff0c;我们将使用 Elastic 的 Playground 和 Vertex AI API 将 Elasticsearch 连接到 Google 的 Gemini 1.5 聊天模型。将 Gemini 模型添加到 Playground 使 Google Cloud 开发人员能够快速建立 LLM、测试检索、调…

算法闭关修炼百题计划(四)

仅供个人复习 1.两数相加2.寻找峰值6.岛屿的最大面积3.最大数4.会议室5.最长连续序列6.寻找两个正序数组的中位数 1.两数相加 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请…

滑动窗口_⽔果成篮找到字符串中所有字⺟异位词

⽔果成篮 904. 水果成篮 - 力扣&#xff08;LeetCode&#xff09; 相当于求数字种类不超过2的最长字字符串 我们先看一看例4.从第一个元素开始最长字符串3331&#xff0c;下一次从第二个位置数吗&#xff1f;没必要&#xff0c;因为只有当字符串中数字种类变为1时&#xff0c;…

pycharm里debug时如何看到数据的维度

使用表达式计算&#xff08;Evaluate Expression&#xff09; 调试时&#xff0c;使用 PyCharm 的 “Evaluate Expression” 功能可以动态查看或修改数据。具体步骤如下&#xff1a; 在调试模式中按 Alt F8&#xff08;Windows&#xff09;或 Option F8&#xff08;Mac&…

机器学习 | 特征选择如何减少过拟合?

在快速发展的机器学习领域&#xff0c;精确模型的开发对于预测性能至关重要。过度拟合的可能性&#xff0c;即模型除了数据中的潜在模式外&#xff0c;还拾取训练集特有的噪声和振荡&#xff0c;这是一个固有的问题。特征选择作为一种有效的抗过拟合武器&#xff0c;为提高模型…