Ceph分布式存储集群搭建

server/2024/12/26 18:09:17/
一.Ceph分布式存储	(1)Ceph概念:Ceph是一种高性能、可扩展的分布式存储系统,它提供了对象存储、块存储和文件系统存储三种存储接口,Ceph的设计目标是提供无单点故障的、高性能的、可扩展的存储解决方案,同时能够降低存储成本。(2)常用分布式存储方案LustreHadoopFastDFSGlusterFSCeph(3)Ceph集群(服务)的组成部分(可理解为5个服务)1)MON(Monitor)监视器,监控与地图负责监控Ceph集群的整体状态、配置信息和监控数据,为了高可用性,通常至少需要三台Monitor.2)MGR(Manager)管理器负责管理集群,包括集群状态监控、元数据管理、REST API接口等.高可用性至少两台Manager.3)OSD(Object Storage Daemon)负责存储数据和处理数据的复制、恢复和再平衡.4)MDS(Metadata Server)MDS用于支持Ceph文件系统 (CephFS),负责维护文件系统的元数据.5)RGW(RADOS Gateway)RGW是Ceph提供的对象存储,兼容S3和Swift协议.二.Cephadm脚本安装ceph-common包,命令行可以补全2.Cephadm 命令: Cephadm 命令 --helpcephadm bootstrap:初始化集群cephadm ls:列出主机上cephadm已知的守护程序实例。cephadm logs:打印守护程序容器的journald日志。cephadm join:将其他节点加入Ceph集群。三.ceph集群搭建				1.Ceph搭建,实验环境准备虚拟机准备:所有主机至少2G内存,关闭防火墙和SELinuxceph1-->192.168.88.11-->额外3块硬盘ceph2-->192.168.88.12-->额外3块硬盘ceph3-->192.168.88.13-->额外3块硬盘client-->192.168.88.102.ceph搭建前置准备工作(1)配置所有节点主机名解析# 192.168.88.240必须解析为quay.io!!!:公开的域名,存放ceph的镜像文件[root@pubserver ceph]# vim 01_update_hosts.yml---- name: update hostshosts: alltasks:- name: add host resolv     #修改/etc/hosts文件添加主机名映射blockinfile:path: /etc/hostsblock: |192.168.88.10 client192.168.88.11 ceph1192.168.88.12 ceph2192.168.88.13 ceph3192.168.88.240  quay.io :公开的域名,存放ceph的镜像文件(这里做的假的)(2)配置yum仓库和时间同步服务 1)服务端:yum -y install chronyvim /etc/chrony.conf...25 allow 192.168.88.0/24   #允许88网段主机同步时间26  27 # Serve time even if not synchronized to a time source.28 local stratum 10        #向下10层同步时间...systemctl enable chronyd            #设置服务开机自启动systemctl restart chronyd           #重启chronyd服务2)客户端通过ansible使用时间系统角色配置yum list | grep roles  #查看系统角色包3.ceph集群的搭建镜像准备工作(1)ceph节点安装podman或docker,lvm2软件---- name: install pkgshosts: cephtasks:- name: install pkgs    #安装必备软件yum:name: python39,podman,lvm2state: present(2)搭建私有ceph镜像仓库1)scp上传相关的镜像包到控制机5个镜像文件+2个软件包altermanager_v0.23.0.tar :告警模块镜像ceph-grafana_8.3.5.tar :监控和可视化Ceph集群的性能和状态镜像 prometheus_v2.33.4.tar:系统监控和警报工具包镜像node-exporter_v1.3.1.tar:采集到机器的CPU、内存、磁盘等信息镜像        ceph_v17.tar : Ceph 分布式存储的镜像,包括5大服务cephadm #ceph的操作工具#Docker Distribution 是 Docker 的一个工具包,用于打包、运输、存储和发送 Docker 镜像docker-distribution-2.6.2-2.git48294d9.el7.x86_64.rpm  2)调整私有仓库端口:这里是教学环境为了可以成功下载镜像#安装软件包yum -y localinstall docker-distribution-2.6.2-2.git48294d9.el7.x86_64.rpm #调整端口[root@pubserver ~]#vim /etc/docker-distribution/registry/config.yml version: 0.1log:fields:service: registrystorage:cache:layerinfo: inmemoryfilesystem:rootdirectory: /var/lib/registryhttp:addr: :80       #端口由5000调整为80,必须调整,否则后续下载镜像时会有报错systemctl enable docker-distribution.service --nowcurl http://localhost/v2/_catalog{"repositories":[]}     #查看本地仓库的镜像,此时仓库为空3)控制机配置域名解析,模拟官方网站vim /etc/hosts192.168.88.240 quay.io4)配置私有仓库地址vim /etc/containers/registries.conftail -3 /etc/containers/registries.conf[[registry]]location = "quay.io"    #指定了容器仓库的地址,这里的实验映射到本机insecure = true         #可以使用http协议5)控制机导入Ceph相关镜像到本地其导入到本地的Podman镜像库中,导入成功后,用户就可以在Podman中看到这个镜像.[root@pubserver ceph-server]# for i in *.tar    > do> podman load -i $i> done6)将镜像推送到私有,远程仓库podman push命令用于将镜像推送到远程仓库,以便其他用户可以下载和使用。[root@pubserver ceph-server]#podman push quay.io/ceph/ceph:v17 podman push quay.io/ceph/ceph-grafana:8.3.5 podman push quay.io/prometheus/prometheus:v2.33.4podman push quay.io/prometheus/node-exporter:v1.3.1podman push quay.io/prometheus/alertmanager:v0.23.0 验证私有仓库中Ceph镜像保存情况[root@pubserver ceph-server]# curl http://quay.io/v2/_catalog7)配置Ceph节点机器使用私有镜像仓库地址---- name: config private registryhosts: cephtasks:- name: add quay.io #配置私有registry仓库blockinfile:path: /etc/containers/registries.confblock: |[[registry]]location = "quay.io"insecure = true建议搭建Ceph集群前临时撤掉Ceph节点网关,禁止Ceph节点连接公网,防止去公网拉取镜像ansible ceph -m shell -a "route del default gw 192.168.88.254"4.ceph集群搭建步骤流程Ceph在使用过程中是无中心化结构,但搭建过程中选择集群某一个节点作为初始化管理节点,然后扩容其他节点1)利用cephadm脚本初始化ceph集群[root@ceph1 ~]# ./cephadm bootstrap \	           #初始化集群 > --mon-ip 192.168.88.11 \                  #指定初始化节点IP地址> --initial-dashboard-password=123456 \     #指定dashboard面板密码> --dashboard-password-noupdate             #不更新dashboard面板密码2)同步ceph密钥Ceph 集群通常由多个节点组成,包括监视器(MON)、对象存储守护进程(OSD)和管理器(MGR)等通过将 Ceph 公钥同步到所有节点,可以简化管理员通过 SSH 登录到这些节点的过程,无需每次输入密码。ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph1 #-f强制 3)扩容ceph集群ceph orch host add ceph2 192.168.88.12  #将ceph2加入集群4)绑定OSD服务ceph orch daemon add osd ceph1:/dev/vdb #绑定单个硬盘ceph orch apply osd --all-available-device #OSD绑定所有可用状态硬盘5)确认集群状态ceph -s5.ceph orch 集群服务管理的命令。ceph orch ls:列出Ceph 集群中运行的服务。ceph orch ps:查看Ceph集群所有的容器,列出 Ceph 集群中运行的状态,健康状态、运行节点等信息ceph orch device ls:列出所有Ceph集群节点上的可用存储设备ceph orch ps --daemon-type=mon  #3个容器ceph orch host ls :要列出与集群关联的所有主机ceph orch host add <hostname> [<ip>] [<label1> ...]:将新主机添加到 Ceph 集群中ceph orch apply:配置应用于 Ceph 集群,用于部署新服务、更新或删除服务。如 osd、mon、mgr等ceph orch rm:此命令用于从 Ceph 集群中删除服务ceph orch upgrade:将 Ceph 集群升级到新版本ceph orch service restart:重启指定的服务(如 OSD 等)ceph orch daemon add:在指定的主机上添加一个新的守护进程实例。ceph orch daemon rm:从指定的主机上删除一个守护进程实例(守护进程:osd,mon,等)。ceph orch device ls|osd create:此命令用于查看存储设备列表或创建 OSD。6.Ceph集群相关容器的命令1、集群管理命令查看集群健康状态ceph -s:显示集群的简要状态和健康状况。ceph health detail:显示集群健康状态的详细信息。显示集群的容量和使用情况ceph df2、监视器(MON)管理命令查看MON状态信息ceph mon stat:显示MON的状态信息,包括集群中的MON节点、选举状态等。查看MON的选举状态ceph quorum_status:显示MON的选举状态和仲裁信息。查看MON的映射信息ceph mon dump:输出MON的映射信息。删除MON节点ceph mon remove <mon-name>:从集群中删除指定的MON节点。4、对象存储守护进程(OSD)管理命令查看OSD状态ceph osd stat:显示OSD的简要状态信息。查看OSD树形结构ceph osd tree:以树形结构显示OSD的层级关系。查看OSD磁盘使用情况ceph osd df:显示OSD的磁盘使用情况。将OSD设置为down状态ceph osd down <osd-id>:将指定的OSD设置为down状态。将OSD重新加入集群ceph osd in <osd-id>:将之前设置为down的OSD重新加入集群。将OSD踢出集群ceph osd out <osd-id>:将指定的OSD踢出集群。4、存储池(Pool)管理命令列出所有存储池ceph osd pool ls:列出集群中的所有存储池。查看存储池详细信息ceph osd pool ls detail:列出存储池的详细信息。创建存储池ceph osd pool create <pool-name>:创建新的存储池。删除存储池ceph osd pool delete <pool-name> :删除指定的存储池。设置存储池副本数ceph osd pool set <pool-name> size <replica-count>:设置存储池的副本数。获取存储池副本数ceph osd pool get <pool-name> size:获取存储池的副本数。设置存储池配额ceph osd pool set-quota <pool-name> :设置存储池的对象数或容量配额。重命名存储池ceph osd pool rename <old-pool-name> <new-pool-name>:重命名指定的存储池。5、Placement Groups(PG)管理命令列出所有PGceph pg ls:列出集群中的所有PG。查看PG的副本分布ceph pg map <pg-id>:查看指定PG的副本分布在哪些OSD上。执行PG修复ceph pg repair <pg-id>:尝试修复指定的PG。执行数据一致性校验ceph pg scrub <pg-id> 或 deep-scrub <pg-id>:执行数据一致性校验或深度校验。6、元数据服务器(MDS)管理命令查看MDS状态ceph mds stat:显示MDS的状态信息查看MDS的映射信息ceph mds dump:输出MDS的映射信息。删除MDS节点ceph mds rm <mds-id> <mds-name>:从集群中删除指定的MDS节点。7、其他常用命令查看Ceph日志ceph-conf --name <daemon-name> --show-config-value log_file:查看指定守护进程的日志文件路径。启动或停止Ceph服务systemctl start/stop/restart ceph.target。

一.Ceph分布式存储    
        (1)Ceph概念:Ceph是一种高性能、可扩展的分布式存储系统,它提供了对象存储、块存储和文件系统存储三种存储接口,Ceph的设计目标是提供无单点故障的、高性能的、可扩展的存储解决方案,同时能够降低存储成本。

        (2)常用分布式存储方案
            Lustre
            Hadoop
            FastDFS
            GlusterFS
            Ceph
        

        (3)Ceph集群(服务)的组成部分(可理解为5个服务)
        
            1)MON(Monitor)监视器,监控与地图
            负责监控Ceph集群的整体状态、配置信息和监控数据,为了高可用性,通常至少需要三台Monitor.
    
            2)MGR(Manager)管理器
            负责管理集群,包括集群状态监控、元数据管理、REST API接口等.高可用性至少两台Manager.
                    
            3)OSD(Object Storage Daemon)
                负责存储数据和处理数据的复制、恢复和再平衡.
    
            4)MDS(Metadata Server)
                MDS用于支持Ceph文件系统 (CephFS),负责维护文件系统的元数据.
    
            5)RGW(RADOS Gateway)
                RGW是Ceph提供的对象存储,兼容S3和Swift协议.

二.Cephadm脚本
        安装ceph-common包,命令行可以补全
        2.Cephadm 命令: Cephadm 命令 --help
                    
            cephadm bootstrap:初始化集群
            
            cephadm ls:列出主机上cephadm已知的守护程序实例。
                    
            cephadm logs:打印守护程序容器的journald日志。
                
            cephadm join:将其他节点加入Ceph集群。

三.ceph集群搭建                
    1.Ceph搭建,实验环境准备
        虚拟机准备:所有主机至少2G内存,关闭防火墙和SELinux
        ceph1-->192.168.88.11-->额外3块硬盘
        ceph2-->192.168.88.12-->额外3块硬盘
        ceph3-->192.168.88.13-->额外3块硬盘
        client-->192.168.88.10

    2.ceph搭建前置准备工作

        (1)配置所有节点主机名解析
           # 192.168.88.240必须解析为quay.io!!!:公开的域名,存放ceph的镜像文件
            [root@pubserver ceph]# vim 01_update_hosts.yml
            ---
            - name: update hosts
              hosts: all
              tasks:
                - name: add host resolv     #修改/etc/hosts文件添加主机名映射
                  blockinfile:
                    path: /etc/hosts
                    block: |
                      192.168.88.10 client
                      192.168.88.11 ceph1
                      192.168.88.12 ceph2
                      192.168.88.13 ceph3
                      192.168.88.240  quay.io :公开的域名,存放ceph的镜像文件(这里做的假的)
          (2)配置yum仓库和时间同步服务 
            1)服务端:
                 yum -y install chrony
                 vim /etc/chrony.conf
                    ...
                     25 allow 192.168.88.0/24   #允许88网段主机同步时间
                     26  
                     27 # Serve time even if not synchronized to a time source.
                     28 local stratum 10        #向下10层同步时间
                ...
                 systemctl enable chronyd            #设置服务开机自启动
                 systemctl restart chronyd           #重启chronyd服务
            2)客户端
                通过ansible使用时间系统角色配置
                yum list | grep roles  #查看系统角色包
        
    3.ceph集群的搭建镜像准备工作

        (1)ceph节点安装podman或docker,lvm2软件
            ---
            - name: install pkgs
            hosts: ceph
            tasks:
               - name: install pkgs    #安装必备软件
                 yum:
                   name: python39,podman,lvm2
                 state: present

        (2)搭建私有ceph镜像仓库

            1)scp上传相关的镜像包到控制机
        
                5个镜像文件+2个软件包
                altermanager_v0.23.0.tar :告警模块镜像
                ceph-grafana_8.3.5.tar :监控和可视化Ceph集群的性能和状态镜像 
                prometheus_v2.33.4.tar:系统监控和警报工具包镜像
                node-exporter_v1.3.1.tar:采集到机器的CPU、内存、磁盘等信息镜像        
                ceph_v17.tar : Ceph 分布式存储的镜像,包括5大服务
                cephadm #ceph的操作工具
            #Docker Distribution 是 Docker 的一个工具包,用于打包、运输、存储和发送 Docker 镜像
                docker-distribution-2.6.2-2.git48294d9.el7.x86_64.rpm  
        
            2)调整私有仓库端口:这里是教学环境为了可以成功下载镜像
            #安装软件包
            yum -y localinstall docker-distribution-2.6.2-2.git48294d9.el7.x86_64.rpm 
            #调整端口
            [root@pubserver ~]#vim /etc/docker-distribution/registry/config.yml 
                version: 0.1
                log:
                  fields:
                    service: registry
                storage:
                    cache:
                        layerinfo: inmemory
                    filesystem:
                        rootdirectory: /var/lib/registry
                http:
                    addr: :80       #端口由5000调整为80,必须调整,否则后续下载镜像时会有报错
            systemctl enable docker-distribution.service --now
            curl http://localhost/v2/_catalog
            {"repositories":[]}     #查看本地仓库的镜像,此时仓库为空

            3)控制机配置域名解析,模拟官方网站
                vim /etc/hosts
                192.168.88.240 quay.io
            
            4)配置私有仓库地址
                vim /etc/containers/registries.conf
                tail -3 /etc/containers/registries.conf
                [[registry]]
                location = "quay.io"    #指定了容器仓库的地址,这里的实验映射到本机
                insecure = true         #可以使用http协议


            5)控制机导入Ceph相关镜像到本地
                其导入到本地的Podman镜像库中,导入成功后,用户就可以在Podman中看到这个镜像.
                [root@pubserver ceph-server]# for i in *.tar    
                > do
                > podman load -i $i
                > done
            
            6)将镜像推送到私有,远程仓库
                podman push命令用于将镜像推送到远程仓库,以便其他用户可以下载和使用。
                [root@pubserver ceph-server]#podman push quay.io/ceph/ceph:v17 
                podman push quay.io/ceph/ceph-grafana:8.3.5 
                podman push quay.io/prometheus/prometheus:v2.33.4
                podman push quay.io/prometheus/node-exporter:v1.3.1
                podman push quay.io/prometheus/alertmanager:v0.23.0 
                验证私有仓库中Ceph镜像保存情况
                [root@pubserver ceph-server]# curl http://quay.io/v2/_catalog
            
            7)配置Ceph节点机器使用私有镜像仓库地址
                ---
                - name: config private registry
                  hosts: ceph
                  tasks:
                    - name: add quay.io #配置私有registry仓库
                      blockinfile:
                        path: /etc/containers/registries.conf
                        block: |
                          [[registry]]
                          location = "quay.io"
                          insecure = true
                 建议搭建Ceph集群前临时撤掉Ceph节点网关,禁止Ceph节点连接公网,防止去公网拉取镜像
                      ansible ceph -m shell -a "route del default gw 192.168.88.254"

    4.ceph集群搭建步骤流程
    Ceph在使用过程中是无中心化结构,但搭建过程中选择集群某一个节点作为初始化管理节点,然后扩容其他节点
        
        1)利用cephadm脚本初始化ceph集群
        
        [root@ceph1 ~]# ./cephadm bootstrap \               #初始化集群 
            > --mon-ip 192.168.88.11 \                  #指定初始化节点IP地址
            > --initial-dashboard-password=123456 \     #指定dashboard面板密码
            > --dashboard-password-noupdate             #不更新dashboard面板密码

        2)同步ceph密钥
        Ceph 集群通常由多个节点组成,包括监视器(MON)、对象存储守护进程(OSD)和管理器(MGR)等
        通过将 Ceph 公钥同步到所有节点,可以简化管理员通过 SSH 登录到这些节点的过程,无需每次输入密码。
            ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph1 #-f强制 
        
        3)扩容ceph集群
            ceph orch host add ceph2 192.168.88.12  #将ceph2加入集群
                
        4)绑定OSD服务
            ceph orch daemon add osd ceph1:/dev/vdb #绑定单个硬盘
            ceph orch apply osd --all-available-device #OSD绑定所有可用状态硬盘

        5)确认集群状态
            ceph -s

    5.ceph orch 集群服务管理的命令。

        ceph orch ls:列出Ceph 集群中运行的服务。

        ceph orch ps:查看Ceph集群所有的容器,列出 Ceph 集群中运行的状态,健康状态、运行节点等信息

        ceph orch device ls:列出所有Ceph集群节点上的可用存储设备

        ceph orch ps --daemon-type=mon  #3个容器

        ceph orch host ls :要列出与集群关联的所有主机

        ceph orch host add <hostname> [<ip>] [<label1> ...]:将新主机添加到 Ceph 集群中

        ceph orch apply:配置应用于 Ceph 集群,用于部署新服务、更新或删除服务。如 osd、mon、mgr等

        ceph orch rm:此命令用于从 Ceph 集群中删除服务

        ceph orch upgrade:将 Ceph 集群升级到新版本

        ceph orch service restart:重启指定的服务(如 OSD 等)

        ceph orch daemon add:在指定的主机上添加一个新的守护进程实例。

        ceph orch daemon rm:从指定的主机上删除一个守护进程实例(守护进程:osd,mon,等)。

        ceph orch device ls|osd create:此命令用于查看存储设备列表或创建 OSD。

    6.Ceph集群相关容器的命令
    
        1、集群管理命令
        
            查看集群健康状态
                ceph -s:显示集群的简要状态和健康状况。
                ceph health detail:显示集群健康状态的详细信息。
    
            显示集群的容量和使用情况
                ceph df
            
        2、监视器(MON)管理命令
        
            查看MON状态信息
                ceph mon stat:显示MON的状态信息,包括集群中的MON节点、选举状态等。
            
            查看MON的选举状态
                ceph quorum_status:显示MON的选举状态和仲裁信息。
            
            查看MON的映射信息
                ceph mon dump:输出MON的映射信息。
            
            删除MON节点
                ceph mon remove <mon-name>:从集群中删除指定的MON节点。
    
            
        4、对象存储守护进程(OSD)管理命令

            查看OSD状态
                ceph osd stat:显示OSD的简要状态信息。
            
            查看OSD树形结构
                ceph osd tree:以树形结构显示OSD的层级关系。
            
            查看OSD磁盘使用情况
                ceph osd df:显示OSD的磁盘使用情况。
            
            将OSD设置为down状态
                ceph osd down <osd-id>:将指定的OSD设置为down状态。
            
            将OSD重新加入集群
                ceph osd in <osd-id>:将之前设置为down的OSD重新加入集群。
            
            将OSD踢出集群
                ceph osd out <osd-id>:将指定的OSD踢出集群。
            
    
        4、存储池(Pool)管理命令
        
            列出所有存储池
                ceph osd pool ls:列出集群中的所有存储池。
            
            查看存储池详细信息
                ceph osd pool ls detail:列出存储池的详细信息。
            
            创建存储池
                ceph osd pool create <pool-name>:创建新的存储池。
            
            删除存储池
                ceph osd pool delete <pool-name> :删除指定的存储池。
            
            设置存储池副本数
                ceph osd pool set <pool-name> size <replica-count>:设置存储池的副本数。
            
            获取存储池副本数
                ceph osd pool get <pool-name> size:获取存储池的副本数。
            
            设置存储池配额
                ceph osd pool set-quota <pool-name> :设置存储池的对象数或容量配额。
            
            重命名存储池
                ceph osd pool rename <old-pool-name> <new-pool-name>:重命名指定的存储池。
        
        
        5、Placement Groups(PG)管理命令
        
            列出所有PG
                ceph pg ls:列出集群中的所有PG。
            
            查看PG的副本分布
                ceph pg map <pg-id>:查看指定PG的副本分布在哪些OSD上。
            
            执行PG修复
                ceph pg repair <pg-id>:尝试修复指定的PG。
            
            执行数据一致性校验
                ceph pg scrub <pg-id> 或 deep-scrub <pg-id>:执行数据一致性校验或深度校验。
    
            
        6、元数据服务器(MDS)管理命令
            查看MDS状态
                ceph mds stat:显示MDS的状态信息
    
            查看MDS的映射信息
                ceph mds dump:输出MDS的映射信息。
    
            删除MDS节点
                ceph mds rm <mds-id> <mds-name>:从集群中删除指定的MDS节点。
    
        7、其他常用命令
        
            查看Ceph日志
                ceph-conf --name <daemon-name> --show-config-value log_file:查看指定守护进程的日志文件路径。
            启动或停止Ceph服务
                systemctl start/stop/restart ceph.target。


http://www.ppmy.cn/server/147609.html

相关文章

三步入门Log4J 的使用

本篇基于Maven 的Project项目&#xff0c; 快速演示Log4j 的导入和演示。 第一步&#xff1a; 导入Log4j依赖 <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.24.2</version&…

微服务即时通讯系统(5)用户管理子服务,网关子服务

用户管理子服务&#xff08;user文件&#xff09; 用户管理子服务也是这个项目中的一个业务最多的子服务&#xff0c;接口多&#xff0c;但是主要涉及的数据表只有user表&#xff0c;Redis的键值对和ES的一个搜索引擎&#xff0c;主要功能是对用户的个人信息进行修改管理&#…

解析类漏洞:从前端数据逃逸到后端执行

导语 在网络安全领域&#xff0c;理解漏洞的根本机制是渗透测试和漏洞研究的基石。很多web top10漏洞的本质其实就是解析类漏洞。这种漏洞的核心在于利用系统解析器或引擎对特定输入数据的处理方式&#xff0c;从而实现代码执行。本文将介绍解析类漏洞的概念&#xff0c;探讨它…

Android 消息队列之MQTT的使用:物联网通讯,HTTP太重了,使用MQTT;断网重连、注册、订阅、发送数据和接受数据,实现双向通讯。

目录&#xff1a; 问题MQTT是什么以及为什么使用如何使用&#xff1a;第一阶段、基础功能如何使用&#xff1a;第二阶段、增加断网重连如何使用&#xff1a;第三阶段、封装 一、问题 在开发的时候&#xff0c;我们一般都使用Http和后台进行通讯&#xff0c;比如我们是开发物联…

无线网络技术的发展与技术

无线网络技术在过去几十年中取得了巨大的进步&#xff0c;从最初的2G到如今的5G&#xff0c;无线通信已经深刻改变了我们的生活和工作方式。 本文将详细介绍无线网络技术的演进历程和相关的技术细节&#xff0c;包括无线传输原理、频谱利用、多址技术、调制与解调技术等&#…

react 路由鉴权

权限路由一般两种 1中接口中返回菜单 2 接口中返回权限&#xff0c;前端做匹配 一般都是那种结合&#xff0c;react中没有vue那种钩子函数如何做&#xff1f; 在项目中写一个高阶函数&#xff0c;在高阶函数中判断权限、是否登录等操作app.tsx或者man.tsx中使用 《AuthRouter》…

十五、linux之搭建JavaEE环境

1 概述 如果需要在 Linux 下进行 JavaEE 的开发&#xff0c;我们需要安装如下软件 2 安装 JDK 安装步骤 mkdir /opt/jdk mkdir /opt/jdk通过 xftp6 上传到 /opt/jdk 下 cd /opt/jdk 解压 tar -zxvf jdk-8u261-linux-x64.tar.gz tar -zxvf jdk-8u261-linux-x64.tar.…

加密算法学习笔记

可逆与不可逆 可逆 对称加密与非对称加密 不可逆 解释:一旦加密就不能反向解密得到密码原文 种类: Hash散列算法, 散列算法, 摘要算法等&#xff08;哈希算法又称散列算法&#xff09; 用途&#xff1a;一般用于效验下载文件正确性&#xff0c;一般在网站上下载文件都能见到…