大模型學習八:?Sealos 私有化部署之VMware 安裝ubuntu22.04 虛擬機安裝(實操)

一、說明

windows 11

ubuntu22.04.5

安裝5個虛擬機,3個master 2個node

二、安裝?Vmware 17(沒成功,但你可以成功)

我的電腦配置比較舊,直接提示處理器不支持xsave 無法打開虛擬機的電源,網上方法試過了,不行啊。準備安裝vmware12, 多少年的版本啊

1、下載個人使用免費軟件

Fusion and Workstation | VMwarehttps://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion自己注冊一下,然后繼續

搜索一下?

選擇最新版本

該填的都填上?

后面就可以下載了,我不能科學上網,后面下載不動,那得多長時間啊,網上有個人版也可以下載

2、安裝VM

這個應該沒啥講究,無腦一路向下 ,大膽的裝,在啟動的時候選擇用于個人用途

三、規劃虛擬機需求分析

0、服務器基本要求

  • 每個集群節點應該有不同的主機名。
  • 所有節點的時間需要同步。
  • 建議使用干凈的操作系統來創建集群。不要自己裝 Docker!
  • 支持大多數 Linux 發行版,例如:Ubuntu、Debian、CentOS、Rocky linux。
  • 系統內核版本在 5.4 及以上
  • 必須使用 root 用戶安裝!

推薦使用 Ubuntu 22.04 LTS 操作系統,內核版本在 5.4 及以上,配置如下:

操作系統內核版本CPU內存存儲MastersNodes
Ubuntu 22.04 LTS≥ 5.48C16GB100GB奇數臺任意

?Kubernetes 和 Sealos Cloud 的系統組件在每個 Master 節點上大約需要 2 核心 (2c) 和 2GB 內存 (2g),在每個 Node 節點上則需要大約 1 核心 (1c) 和 1GB 內存 (1g),請確保集群中每個節點都有足夠的計算資源以支持系統組件的運行。

  • 所有節點之間網絡互通;
  • 需要在 Kubernetes 集群的第一個 Master 節點上執行腳本,目前集群外的節點不支持集群安裝
  • 所有節點之間可以互相通信。
  • 需要一個域名用于訪問 Sealos 及相關服務;
  • 如果您沒有域名,可以使用?nip.io?提供的免費域名服務。

Sealos 需要使用證書來保證通信安全,默認在您不提供證書的情況下我們會使用?cert-manager?來自動簽發證書?

如果您能提供證書,證書需要解析下列域名 (假設您提供的域名為:cloud.example.io):

  • *.cloud.example.io
  • cloud.example.io

1、Master 節點需要開放的端口

Master 節點運行控制平面組件(如 API Server、etcd、Controller Manager、Scheduler),需要開放以下端口:

端口協議用途開放范圍
6443TCPKubernetes API Server對所有 Node 和外部客戶端
2379-2380TCPetcd 數據庫通信僅其他 Master 節點(HA 集群)
10250TCPKubelet API(與 Pod/容器通信)集群內所有節點
10259TCPkube-scheduler 的 HTTPS 端口集群內部通信
10257TCPkube-controller-manager 的 HTTPS 端口集群內部通信

2、Node(Worker)節點需要開放的端口

Node 節點運行工作負載(Pod),需要開放以下端口:

端口協議用途開放范圍
10250TCPKubelet API(與 Master 通信)集群內所有節點
30000-32767TCPNodePort 服務的外部訪問對外部客戶端開放
8472UDPFlannel CNI 的 VXLAN 隧道所有節點間(按 CNI 需求)
179TCPCalico CNI 的 BGP 協議所有節點間(按 CNI 需求)

3、所有節點(Master + Node)都需要開放的端口

某些端口在集群中所有節點間需要互通:

端口協議用途
22TCPSSH 管理訪問
ICMP節點間網絡連通性檢查(ping)

4、?操作建議

  • 僅開放必要的端口,避免安全隱患。

  • 例如?2379-2380(etcd)僅在多 Master 集群中開放給其他 Master 節點。

5、分析表格

服務器名稱ip開放端口說明
base192.168.1.100

22,ICMP,10250

這是一個基本虛擬機,平時不用,用來克隆其他master和node1,所以安裝基本配置,開放基本端口
master1192.168.1.101

6443

2379-2380

10259

10257

通過base克隆
master2192.168.1.102

6443

2379-2380

10259

10257

通過master1克隆
master3192.168.1.103

6443

2379-2380

10259

10257

通過master1克隆
node1192.168.1.111

30000-32767

8472

179

通過base克隆
node2192.168.1.112

30000-32767

8472

179

通過node1克隆

三、安裝Base虛擬機

1、新建虛擬機

打開VMware Workstation,點擊?“創建新的虛擬機”

選擇?“典型”?安裝模式,點擊下一步,

選擇安裝來源,點擊?“安裝程序光盤映像文件(iso)”,瀏覽并選擇下載好的Ubuntu 22.04 LTS鏡像(如ubuntu-22.04.4-live-server-amd64.iso)。

2、配置虛擬機參數

設置用戶名和密碼
  • 輸入虛擬機名稱(如Ubuntu-Node1)。

指定磁盤容量

  • 建議分配 60GB,選擇?“將虛擬磁盤拆分成多個文件”(便于遷移)。

  • 下一步

自定義硬件配置

  • 點擊?“自定義硬件”,調整以下參數:

    • 內存:分配3GB(根據宿主機總內存調整)。

    • 處理器:分配處理器數量1,內核數量為6。

    • 網絡適配器:選擇?橋接模式(虛擬機直接使用物理網絡)或?NAT模式(虛擬機共享宿主機IP)。我們選橋接模式

  • 點擊關閉后完成配置。

3、安裝Ubuntu 22.04系統

啟動安裝向導

  • 啟動虛擬機,自動加載Ubuntu安裝界面。

  • 選擇語言為?English(推薦,避免編碼問題),回車繼續

系統配置

  1. 網絡配置(關鍵步驟)

    • 安裝程序會自動檢測網絡連接(需宿主機已聯網)。

    • 如果使用DHCP(動態IP),直接按回車跳過。

    • 如需靜態IP(推薦用于集群部署):

      • 選擇當前網絡接口(如ens33),按回車進入配置。

      • 關閉IPv4的?“Automatic”,手動輸入以下信息:

        • Subnet(子網):192.168.1.0/24(根據實際網絡環境調整)

        • Address(IP地址):192.168.1.200(依次為10~13分配給4臺虛擬機)

        • Gateway(網關):192.168.1.1(通常為路由器IP)

        • Name servers(DNS):8.8.8.8,8.8.4.4

      • 保存配置并返回。

存儲配置

  • 選擇磁盤(默認Use an entire disk),按回車確認。并把free 部分設置為home

  • 確認分區方案(默認即可),選擇?Done?并提交更改。

用戶名和密碼

用戶名的都為sealos,由于要克隆,所以每個都一樣

服務器名為node1,node2,master1,master2.,master3,base

密碼為123456

?SSH配置

  • 勾選?“Install OpenSSH server”(允許遠程SSH連接)。

完成安裝

  • 等待系統安裝完成,重啟虛擬機

?4、開啟root用戶登陸

設置root用戶密碼:
sudo passwd root修改profile文件
sudo apt install vimsudo vim /root/.profile
注釋掉: mesg n 2> /dev/null || true
添加: tty -s && mesg n || true\修改SSH配置文件
sudo vim /etc/ssh/sshd_config找到 #PermitRootLogin prohibit-password
改為 PermitRootLogin yessudo systemctl restart ssh重啟
sudo reboot啟動直接root登錄

5、初始化環境?

# 定期檢查并應用系統和應用程序的安全補丁。Ubuntu會定期發布安全更新。確保你的系統是最新的。
apt update && apt upgrade && apt dist-upgrade && apt autoremove && apt clean && reboot
# 安裝一些常用的工具和庫,這些工具可以幫助你更高效地工作apt install git curl wget htopapt install iputils-pingapt-get install openvswitch-switch
# 修改時區cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改linux參數vim /etc/security/limits.conf
#后面添加
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536含義如下:
soft nproc: 可打開的文件描述符的最大數(軟限制)
hard nproc: 可打開的文件描述符的最大數(硬限制)
soft nofile:單個用戶可用的最大進程數量(軟限制)
hard nofile:單個用戶可用的最大進程數量(硬限制)

6、配置網絡?

前面安裝時已經配置了,這里是對的

node1---------192.168.1.101

要修改ip,必須

#如果沒這個問題直接創建,在后面network: {config: disabled}

vim /etc/netplan/50-cloud-init.yaml


network:
? ? ethernets:
? ? ? ? ens33:
? ? ? ? ? ? addresses:
? ? ? ? ? ? - 192.168.1.101/24
? ? ? ? ? ? nameservers:
? ? ? ? ? ? ? ? addresses:
? ? ? ? ? ? ? ? - 8.8.8.8
? ? ? ? ? ? ? ? - 8.8.8.4
? ? ? ? ? ? ? ? search: []
? ? ? ? ? ? routes:
? ? ? ? ? ? - ? to: default
? ? ? ? ? ? ? ? via: 192.168.1.1
? ? version: 2

#如果修改了執行下面命令

netplan apply

7、驗證網絡

ping baidu.com

# 如果安裝了其它虛擬機,也要ping

ping 192.168.1.102?

?8、更新etc/hosts文件

更新所有節點的/etc/hosts文件,添加IP與主機名映射:echo "192.168.1.111 node1" | tee -a /etc/hosts
echo "192.168.1.112 node2" | tee -a /etc/hosts
echo "192.168.1.101 master1" | tee -a /etc/hosts
echo "192.168.1.102 master2" | tee -a /etc/hosts
echo "192.168.1.102 master3" | tee -a /etc/hosts

?9、開放端口

前面分析表格確定需要開放22,ICMP,10250三個端口

apt-get install ufw -yufw enableufw statusufw allow 22/tcp        # SSH
ufw allow 10250/tcp   ## 允許 Master 訪問 Node 的 Kubelet

10、時間同步

apt update
apt install chronyvim /etc/chrony/chrony.conf
添加
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst# 重啟并查看同步狀態
systemctl status chrony
systemctl start chrony
systemctl enable chrony
systemctl restart chrony

四、安裝master虛擬機

1、關閉模板虛擬機:?

shutdown now

2、克隆虛擬機

  • 右鍵模板虛擬機,選擇?“管理” > “克隆”

  • 選擇?“創建完整克隆”,命名新虛擬機(如Ubuntu-Master1)。

  • Ubuntu-Master1為模板重復此步驟生成剩余Ubuntu-Master2和Ubuntu-Master3 兩臺虛擬機。

3、修改mac

雙擊

?

克隆后mac地址相同,同時啟動會沖突,請一定要改?

4、修改克隆機的靜態IP和主機名

  • 啟動克隆后的虛擬機,編輯網絡配置文件(vim /etc/netplan/50-cloud-init.yaml),修改IP地址(如192.168.1.102,192.168.1.103,192.168.1.104)按前面規劃的來。然后netplan apply

  • 修改主機名:

    hostnamectl set-hostname master1? # 依次改為master2~3

5、開放master端口

6443
2379-2380
10259
10257ufw allow 6443/tcp        # 允許 kubectl 和其他節點訪問 API Server
ufw allow 2379:2380/tcp  # 僅多 Master 高可用集群需要
# ufw allow 10250/tcp      # 允許節點與 Master 的 Kubelet 通信
ufw allow 10259/tcp      # 調度器通信(按需開放)
ufw allow 10257/tcp      # 控制器管理器通信(按需開放)


root@master1:~# ufw status
Status: active

To ? ? ? ? ? ? ? ? ? ? ? ? Action ? ? ?From
-- ? ? ? ? ? ? ? ? ? ? ? ? ------ ? ? ?----
22/tcp ? ? ? ? ? ? ? ? ? ? ALLOW ? ? ? Anywhere
10250/tcp ? ? ? ? ? ? ? ? ?ALLOW ? ? ? Anywhere
6443/tcp ? ? ? ? ? ? ? ? ? ALLOW ? ? ? Anywhere
2379:2380/tcp ? ? ? ? ? ? ?ALLOW ? ? ? Anywhere
10259/tcp ? ? ? ? ? ? ? ? ?ALLOW ? ? ? Anywhere
10257/tcp ? ? ? ? ? ? ? ? ?ALLOW ? ? ? Anywhere
22/tcp (v6) ? ? ? ? ? ? ? ?ALLOW ? ? ? Anywhere (v6)
10250/tcp (v6) ? ? ? ? ? ? ALLOW ? ? ? Anywhere (v6)
6443/tcp (v6) ? ? ? ? ? ? ?ALLOW ? ? ? Anywhere (v6)
2379:2380/tcp (v6) ? ? ? ? ALLOW ? ? ? Anywhere (v6)
10259/tcp (v6) ? ? ? ? ? ? ALLOW ? ? ? Anywhere (v6)
10257/tcp (v6) ? ? ? ? ? ? ALLOW ? ? ? Anywhere (v6)
?

6、再安裝兩臺master虛擬機

這次用master1克隆

  • 克隆
  • 修改mac?,有時候感覺變了啊,不動,反正我碰到相同的
  • 啟動
  • 修改ip地址:102和103
  • 修改主機名:master2和master3

五、安裝Node虛擬機

?1、關閉Base虛擬機:?

shutdown now

2、克隆虛擬機

  • 右鍵模板虛擬機,選擇?“管理” > “克隆”

  • 選擇?“創建完整克隆”,命名新虛擬機(如Ubuntu-Node1)。

  • Ubuntu-Node1為模板重復此步驟生成剩余Ubuntu-Node2虛擬機。

3、修改mac

和前面相同?

4、修改克隆機的靜態IP和主機名

  • 啟動克隆后的虛擬機,編輯網絡配置文件(vim /etc/netplan/50-cloud-init.yaml),修改IP地址(如192.168.1.111,192.168.1.112)按前面規劃的來。然后netplan apply

  • 修改主機名:

    hostnamectl set-hostname node1? # 依次改為node2

?5、開放master端口

30000-32767
8472
179# sudo ufw allow 10250/tcp          # 允許 Master 訪問 Node 的 Kubelet
ufw allow 30000:32767/tcp    # 允許外部訪問 NodePort 服務
ufw allow 8472/udp           # Flannel VXLAN(按需)
ufw allow 179/tcp            # Calico BGP(按需)

6、再安裝一臺node虛擬機

這次用node1克隆

  • 克隆
  • 修改mac?,有時候感覺變了啊,不動,反正我碰到相同的
  • 啟動
  • 修改ip地址:112
  • 修改主機名:node2

六、配置SSH免密登錄

全部虛擬機開機,保證虛擬機互相都能ping通,很重要,要做喔

master1,master2,master3,node1,node2

在master1執行代碼

檢查一下,其實每個虛擬機都一樣,/root/.ssh目錄下有一個空文件authorized_keys


root@master1:~# ls -a
. ?.. ?.bash_history ?.bashrc ?.cache ?.profile ?.ssh ?.viminfo
root@master1:~# cd .ssh
root@master1:~/.ssh# ls
authorized_keys
root@master1:~/.ssh# cat authorized_keys
root@master1:~/.ssh#
?

SSH免密登錄#在master1虛擬機主節點生成密鑰并分發到其他節點,在執行代碼之前,/root/.ssh/authorized_keys里是空的ssh-keygen -t rsa  #一路回車
#master1執行后,有了三個文件,其它虛擬機這時候和他無關
root@master1:~/.ssh# ls
authorized_keys  id_rsa  id_rsa.pubssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.102
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.103
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.111
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.112#分別執行上面4條命令,分別鍵入yes和root的登錄密碼123456,
# 我們這時候去看
# master1 
root@master1:~/.ssh# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts  known_hosts.old# master2root@master2:~/.ssh# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCtnMh7FsGEdGTLqRhwbcV5GUnyy7DH3u6cGiOE4wNpvqu0tX6ZDXn/j7MaHfkigPU0a3hOoRhkxjyl/KNXDbxJgrq126al9X1dzQQg1owG3n0BewLcga7uWXNFJSCsMDp1Yl8nxt/uynvBcj0CVz7+nJLET6jojVYk04ti7iJCz6oX9yVs+g7txNrtvtYbI2erl/MLf+/rPIz84h0QmD8xrGGWVvM9AmGRe+22ppTXfhsEBXPzrifogXRkpiFQ5za0GA41SSoRWERrCYqMIBMQLz96y6OCUWWKDOT1OUvrpyCQaz72YH7sIxwIyMZtBWZKlL1Y8MWsrMRAXYiwv6JPgbo8tE1vWVGhrxRK0JeSUPNDCvk70IsKZVpUaJCzPkVxgjFMl7oeEVKjzlGHu7vUk6Js/Uc1vHMEdZtCg+bBe3pV7E9WUusaHootNihvVOjd1tjaUQQF9T20f07Mtqws75GZJEbHlHGV0Ogjcr08t0QdmijzEsx6e4m45poOsgE= root@master1#其它幾個都一樣,空文件有東西了,這個就是key

master1 測試

ssh root@192.168.1.102

root@master1:~/.ssh# ssh root@192.168.1.102
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-136-generic x86_64)

?* Documentation: ?https://help.ubuntu.com
?* Management: ? ? https://landscape.canonical.com
?* Support: ? ? ? ?https://ubuntu.com/pro

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.
New release '24.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Sat Apr 12 20:18:47 2025 from 192.168.1.9
root@master2:~#這里進入了master2的命令行
?

node1測試連接master1

ssh root@192.168.1.101

不行的

node1測試連接node2

ssh root@192.168.1.112

不行的

只能master1連接其它4個虛擬機,反過來不行,其它互相也不行,這個主要為了在master1中安裝集群用的?

我們需要在3個master上都是做一遍,要保證3個master之間是免密互通的

所以我們繼續在master2和master3上把上面的重新執行一遍

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76697.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76697.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76697.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Win32++ 使用初探

文章目錄 1. 環境要求2. Win32安裝3. 項目創建3.1 項目創建(1)直接使用Win32里的示例Sample(2)自行創建項目 最近想用 VC寫些 UI,但又不太想用 MFC,正好對界面要求不太高,就使用了一下 Win3…

R 語言科研繪圖第 38 期 --- 餅狀圖-玫瑰

在發表科研論文的過程中,科研繪圖是必不可少的,一張好看的圖形會是文章很大的加分項。 為了便于使用,本系列文章介紹的所有繪圖都已收錄到了 sciRplot 項目中,獲取方式: R 語言科研繪圖模板 --- sciRplothttps://mp.…

Linux驅動開發進階(六)- 多線程與并發

文章目錄 1、前言2、進程與線程3、內核線程4、底半步機制4.1、軟中斷4.2、tasklet4.3、工作隊列4.3.1、普通工作項4.3.2、延時工作項4.3.3、工作隊列 5、中斷線程化6、進程6.1、內核進程6.2、用戶空間進程 7、鎖機制7.1、原子操作7.2、自旋鎖7.3、信號量7.4、互斥鎖7.5、comple…

第四節:React Hooks進階篇-useEffect依賴項為空數組[]與不寫的區別

陷阱題:閉包問題、Stale Closure舉例 一、依賴項為空數組[]與不寫的核心區別 行為空數組[]不寫依賴項執行時機僅在組件掛載時執行一次(類似componentDidMount)組件每次渲染后都執行(類似componentDidUpdate)更新觸發…

【第39節】windows編程:打造MFC版本任務管理器

目錄 一、項目概述 二、項目開發的各種功能關鍵 2.1 進程信息的獲取 2.2 線程信息的獲取 2.3 進程模塊信息的獲取 2.3.1 模塊快照 2.3.2 枚舉模塊 2.4 進程堆信息的獲取 2.5 窗口信息的獲取 2.6 文件信息的獲取 2.7 內存信息和CPU占用率的獲取 2.7.1 內存信息相關結…

計算軸承|滾動軸承故障頻率

一、軸承故障頻率概述 在旋轉機械故障診斷中,軸承故障頻率(BPFO、BPFI、BSF、FTF)是重要的分析依據。通過計算這些特征頻率,可以幫助工程師: 識別軸承故障類型(內圈/外圈/滾動體故障)制定振動…

【數據結構與算法】ArrayList 和 順序表

文章目錄 🌲List🌲1. 線性表🌲2. 順序表🌿2.1 MyArrayList2.1.1 類中重寫所有接口方法1.新增元素2.在pos位置新增元素(指定位置)3.判定是否包含了某個特定元素 4.查找特定元素對應的位置 5.獲取pos下標的元素 6.給pos位置的元素替…

OceanBase 推出單機版 ,為中小規模業務提供高性價比方案

近日,OceanBase正式推出了全新的單機版數據庫。這款產品基于OceanBase自主研發的單機分布式一體化架構,具有精簡的架構設計和出色的兼容性,能夠為中小規模業務場景提供高性價比的數據庫解決方案,充分滿足客戶在不同業務規模下的多…

如何在 Vue 3 中實現百度地圖位置選擇器組件

如何在 Vue 3 中實現百度地圖位置選擇器組件 前言 在開發前端應用時,地圖選擇器是一個非常常見的需求。尤其是在一些需要用戶選擇地址的場景,如電商平臺、旅游網站、酒店預定等,百度地圖組件能提供準確的地理位置服務。在本文中&#xff0c…

Python中如何用正則表達式精準匹配IP地址?

在網絡編程和數據處理時,我們經常需要從文本中提取或驗證IP地址。Python的正則表達式(re模塊)是完成這個任務的利器。但你知道怎么寫才能準確匹配各種合法的IP地址嗎?今天我們就來詳細探討這個問題。 為什么需要IP正則表達式? 假設你正在分…

spring--聲明式事務

聲明式事務 1、回顧事務 要么都成功,要么都失敗! 事務在項目開發中,十分重要,涉及數據的一致性問題 確保完整性和一致性 事務ACID: 原子性:事務是原子性操作,由一系列動作組成,…

Kotlin 學習-集合

/*** kotlin 集合* List:是一個有序列表,可通過索引(下標)訪問元素。元素可以在list中出現多次、元素可重復* Set:是元素唯一的集合。一般來說 set中的元素順序并不重要、無序集合* Map:(字典)是一組鍵值對。鍵是唯一的…

WPF 五子棋項目文檔

WPF 五子棋項目文檔 1. 項目概述 本項目是一個使用 Windows Presentation Foundation (WPF) 技術棧和 C# 語言實現的桌面版五子棋(Gomoku)游戲。它遵循 MVVM(Model-View-ViewModel)設計模式,旨在提供一個結構清晰、可…

計算機操作系統——死鎖(詳細解釋和處理死鎖)

系列文章目錄 計算機操作系統-計算機系統中的死鎖 文章目錄 系列文章目錄前言一、資源問題: 計算機系統當中的死鎖: 二、死鎖的定義、必要條件和處理方法: 1.死鎖的定義:2.產生死鎖的必要條件:3.處理死鎖的方法&#…

Springboot項目正常啟動,訪問資源卻出現404錯誤如何解決?

我在自己的springboot項目中的啟動類上同時使用了SprinBootApplication和ComponentScan注解, 雖然項目能夠正常啟動,但是訪問資源后,返回404錯誤,隨后在啟動類中輸出bean,發現controller創建失敗: 而后我將ComponentScan去掉后資源就能訪問到了. 原因 SprinBootApplication本身…

第十五屆藍橋杯C/C++B組省賽真題講解(分享去年比賽的一些真實感受)

試題A——握手問題 一、解題思路 直接用高中學的排列組合思路 二、代碼示例 #include<bits/stdc.h> using namespace std; int fun(int n) {int sum0;for(int i0;i<n;i){for(int ji1;j<n;j)sum; } return sum; } int main() {cout<<fun(50)-fun(7); }三、…

動態規劃(6)——01背包問題

歡迎來到博主的專欄&#xff1a;算法解析 博主ID&#xff1a;代碼小號 文章目錄 牛客網——【模板】01背包題目解析題目1算法原理題目1題解代碼。問題2算法原理問題2題解代碼01背包問題的滾動數組優化 牛客網——【模板】01背包 題目解析 關于I/O相關的東西博主就不多贅述了&a…

TQTT_KU5P開發板教程---實現流水燈

文檔實現功能介紹 本文檔是學習本開發板的基礎&#xff0c;通過設置計數器使led0到led7依次閃爍&#xff0c;讓用戶初步認識vivado基本的開發流程以及熟悉項目的創建。本開發板的所有教程所使用的軟件都是vivado2024.1版本的。可以根據網上的教程下載與安裝。 硬件資源 此次教程…

Spring 中的 @Cacheable 緩存注解

1 什么是緩存 第一個問題&#xff0c;首先要搞明白什么是緩存&#xff0c;緩存的意義是什么。 對于普通業務&#xff0c;如果要查詢一個數據&#xff0c;一般直接select數據庫進行查找。但是在高流量的情況下&#xff0c;直接查找數據庫就會成為性能的瓶頸。因為數據庫查找的…

SEER: Self-Aligned Evidence Extraction for Retrieval-AugmentedGeneration

一、動機 如何從檢索到的段落中提取證據&#xff0c;以降低計算成本并提升最終的RAG性能&#xff0c;然而這一問題仍然具有挑戰性。 現有方法 嚴重依賴于基于啟發式的增強&#xff0c;面臨以下幾個問題&#xff1a; &#xff08;1&#xff09;由于手工制作的上下文過濾&…