240107-RHEL8+RHEL9配置安装:NVIDIA驱动(15步)+CUDA(4步)+CUDNN(5步)+GPU压力测试

Section 0: 基础知识

  • CUDA、cuDNN 和 PyTorch 版本的选择与搭配指南

  • 安装优先级: 显卡驱动 → CUDA → CUDA Toolkit → cuDNN → Pytorch

    • 即显卡驱动决定了CUDA版本,CUDA版本决定了CUDA Toolkit、cuDNN、Pytorch各自的版本
    • 提前下载 | CUDA
    • 提前下载 | CUDNN
    • 在线下载 | PyTorch
  • 最终检测
    在这里插入图片描述


Section 1: 注意事项

⚠️ 注意事项1: RHEL除非注册付费,否则如法直接使用yum

  • 解决方法 | RHEL配置其它yum源

⚠️ 注意事项2: 通过本地yum源安装kernel-develkernel-headersgcc等工具包

  • 常见问题 | 很多博客直接提供安装命令,但没有提到内核kernel版本冲突的问题
yum -y install kernel-devel
yum -y install epel-release
yum -y install gcc
  • 解决方案1: 通过配置本地Yum源,解决内核冲突问题,推荐使用 ⭐️

  • 解决方案2: 通过在线查询并下载对应的内核版本,解决内核冲突问题,尚未验证 🤷

  • 正确配置安装工具库之后,可通过下面两行命令查看版本是否一致,例如:是否都会el8_8,如果不一致,则安装有问题

(base) [root@localhost gpu-burn-master]# uname -r ⭐️
4.18.0-477.10.1.el8_8.x86_64
(base) [root@localhost gpu-burn-master]# rpm -qa | grep kernel ⭐️
kernel-4.18.0-477.10.1.el8_8.x86_64
kernel-headers-4.18.0-477.10.1.el8_8.x86_64
kernel-tools-4.18.0-477.10.1.el8_8.x86_64
kernel-devel-4.18.0-477.10.1.el8_8.x86_64
kernel-core-4.18.0-477.10.1.el8_8.x86_64
kernel-tools-libs-4.18.0-477.10.1.el8_8.x86_64
kernel-modules-4.18.0-477.10.1.el8_8.x86_64

Section 2: RHEL8+RHEL9安装NVIDIA驱动

  • 参考视频 | RHEL9.0测试安装nvidia显卡驱动_哔哩哔哩_bilibili
  • 驱动下载 | 如图所示意,选择自己显卡所对应的驱动,然后下载

在这里插入图片描述

🎯 Step 01: 查看是否已禁用`nouveau`
(base) [root@localhost clash-for-linux-master]# lsmod | grep nouveau🎯 Step 02: 查看显卡是否能被检测到
(base) [root@localhost clash-for-linux-master]# lspci | grep VGA
02:00.0 VGA compatible controller: NVIDIA Corporation GP102 [TITAN Xp] (rev a1)🎯 Step 03: 通过`vim`,设置并禁用`nouveau`
(base) [root@localhost clash-for-linux-master]# vim /etc/modprobe.d/blacklist-nouveau.conf 
(base) [root@localhost clash-for-linux-master]# cat /etc/modprobe.d/blacklist-nouveau.conf 
blacklist nouveau
options nouveau modeset=0🎯 Step 04: 重新初始化RAM磁盘,确保系统包含了最新的驱动程序和配置
(base) [root@localhost clash-for-linux-master]# dracut -f 🎯 Step 06: 选用本地的`yum`源配置
- 详情参阅:https://blog.csdn.net/qq_33039859/article/details/135256790?spm=1001.2014.3001.5501(base) [root@localhost clash-for-linux-master]# cd /etc/yum.repos.d/
(base) [root@localhost yum.repos.d]# ls
bak  centos8.repo  config_cuda_cudnn  docker-ce.repo  microsoft-edge.repo  redhat.repo
(base) [root@localhost yum.repos.d]# mkdir config_ali_repo
(base) [root@localhost yum.repos.d]# mv *.* config_ali_repo/
(base) [root@localhost yum.repos.d]# ls
bak  config_ali_repo  config_cuda_cudnn
(base) [root@localhost yum.repos.d]# cp config_cuda_cudnn/* .
(base) [root@localhost yum.repos.d]# ls -al
total 28
drwxr-xr-x.   5 root root  164 Jan  7 06:32 .
drwxr-xr-x. 154 root root 8192 Jan  7 04:52 ..
drwxr-xr-x.   2 root root  125 Jan  6 23:16 bak
drwxr-xr-x.   2 root root   94 Jan  7 06:31 config_ali_repo
drwxr-xr-x.   2 root root  105 Jan  7 04:17 config_cuda_cudnn
-rw-r--r--.   1 root root  210 Jan  7 06:32 cudnn-local-rhel8-8.9.6.50.repo
-rw-r--r--.   1 root root  358 Jan  7 06:32 redhat.repo
-rw-r--r--.   1 root root  333 Jan  7 06:32 redhat.repo.bak
-rw-r--r--.   1 root root  159 Jan  7 06:32 rhel8.repo🎯 Step 07: 查看本地`yum`源的配置信息
(base) [root@localhost yum.repos.d]# cat rhel8.repo 
[RHEL-BaseOS]
name=BaseOS
baseurl=file:///iso/BaseOS
gpgcheck=0
enabled=1[RHEL-AppStream]
name= AppStream
baseurl=file:///iso/AppStream
gpgcheck=0
enabled=1🎯 Step 08: 重启系统
(base) [root@localhost yum.repos.d]# reboot🎯 Step 09: 安装一系列开发工具和编程语言编译器,如gcc,mark,debugging tools等
(base) [root@localhost yum.repos.d]# yum group install "Development Tools" ⭐️
Updating Subscription Management repositories.
Unable to read consumer identityThis system is not registered with an entitlement server. You can use subscription-manager to register.cudnn-local-rhel8-8.9.6.50                                                          2.9 MB/s | 3.0 kB     00:00    
BaseOS                                                                              2.7 MB/s | 2.8 kB     00:00    
AppStream                                                                           3.1 MB/s | 3.2 kB     00:00    
Dependencies resolved.
====================================================================================================================Package                    Architecture              Version                      Repository                  Size
====================================================================================================================
Installing Groups:Development Tools                                                                                                 Transaction Summary
====================================================================================================================Is this ok [y/N]: y
Complete!🎯 Step 10: 安装用于处理ELF(可执行和链接格式)文件的开发工具库:elfutils-libelf-devel
(base) [root@localhost yum.repos.d]# yum install elfutils-libelf-devel ⭐️
Updating Subscription Management repositories.
Unable to read consumer identityThis system is not registered with an entitlement server. You can use subscription-manager to register.Last metadata expiration check: 0:01:11 ago on Sun 07 Jan 2024 06:34:14 AM EST.
Package elfutils-libelf-devel-0.188-3.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!🎯 Step 11: 切换到CUDA和CUDNN的下载文件夹
(base) [root@localhost yum.repos.d]# cd /home/lgk/Downloads/
(base) [root@localhost Downloads]# ls -al
total 6427280
drwxr-xr-x.  4 lgk  lgk        4096 Jan  7 05:41 .
drwx------. 18 lgk  lgk        4096 Jan  7 03:15 ..
drwxr-xr-x.  9 root root        180 Jan  7 05:39 clash-for-linux-master
-rw-rw-r--.  1 lgk  lgk    16784320 Jan  7 05:31 clash-for-linux-master.zip
-rw-rw-r--.  1 lgk  lgk   111225075 Jan  7 05:41 Clash.for.Windows-0.20.28-x64-linux.tar.gz
-rwxr-x---.  1 lgk  lgk  4207617207 Jan  6 22:50 cuda_12.0.1_525.85.12_linux.run
-rw-rw-r--.  1 lgk  lgk  1430362197 Jan  6 22:51 cudnn-local-repo-rhel8-8.9.6.50-1.0-1.x86_64.rpm
-rw-rw-r--.  1 lgk  lgk       25128 Jan  6 22:48 epel-release-latest-8.noarch.rpm
-rw-r--r--.  1 root root     348036 Jan 11  2022 freeimage-3.17.0-5.el8.x86_64.rpm
-rw-r--r--.  1 root root      39676 Jan 11  2022 freeimage-devel-3.17.0-5.el8.x86_64.rpm
drwxr-xr-x.  2 root root       4096 Jan  7 04:41 gpu-burn-master
-rw-rw-r--.  1 lgk  lgk       14391 Jan  7 04:30 gpu-burn-master.zip
-rw-r--r--.  1 root root     451848 Apr  7  2020 jxrlib-1.1-1.el8.x86_64.rpm
-rw-rw-r--.  1 lgk  lgk   164378334 Jan  6 22:33 microsoft-edge-stable_120.0.2210.121-1_amd64.deb
-rw-rw-r--.  1 lgk  lgk   166605200 Jan  7 04:48 microsoft-edge-stable-120.0.2210.121-1.x86_64.rpm
-rw-rw-r--.  1 lgk  lgk   141613749 Jan  7 02:56 Miniconda3-latest-Linux-x86_64.sh
-rwxrwxr-x.  1 lgk  lgk   341737575 Jan  7 00:49 NVIDIA-Linux-x86_64-535.146.02.run
-rw-rw-r--.  1 lgk  lgk      209952 Jan  6 22:48 yum-4.7.0-4.el8.noarch.rpm
-rw-rw-r--.  1 lgk  lgk       74276 Jan  6 22:48 yum-utils-4.0.21-3.el8.noarch.rpm🎯 Step 12: 切换到文本命令模式安装驱动 ⭐️
(base) [root@localhost Downloads]# # init 3
(base) [root@localhost Downloads]# # localhost login: root
(base) [root@localhost Downloads]# # Password: 🎯 Step 13: 改变run文件为可执行文件,并运行安装 ⭐️
(base) [root@localhost Downloads]# chmod +x NVIDIA-Linux-x86_64-535.146.02.run 
(base) [root@localhost Downloads]# # ./NVIDIA-Linux-x86_64-535.146.02.run 🎯 Step 14: 在后续所有交互界面中只用选择yes or ok ⭐️
(base) [root@localhost Downloads]# # click yes or ok🎯 Step 15: 检查NVIDIA驱动是否安装成功 
(base) [root@localhost Downloads]# nvidia-smi ⭐️
Sun Jan  7 06:48:41 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.146.02             Driver Version: 535.146.02   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA TITAN Xp                Off | 00000000:02:00.0  On |                  N/A |
| 23%   29C    P5              23W / 250W |    508MiB / 12288MiB |      1%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------++---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      2787      G   /usr/libexec/Xorg                           124MiB |
|    0   N/A  N/A      2902      G   /usr/bin/gnome-shell                        133MiB |
|    0   N/A  N/A     28574      G   /usr/lib64/firefox/firefox                   11MiB |
|    0   N/A  N/A     28943      G   ...45,262144 --variations-seed-version      235MiB |
+---------------------------------------------------------------------------------------+

Section 3: RHEL8+RHEL9安装CUDA+CUDNN

  • Redhat8 安装 cuda11.8 + cudnn 8.6 + trt8.5.3 保姆级教程_redhat安装cudnn-CSDN博客
  • Installation Guide - NVIDIA Docs

Section 3.1: 安装CUDA

🎯 Step 01: 切换到CUDA下载目录
(base) [root@localhost Downloads]# ls -al
total 6427280
drwxr-xr-x.  4 lgk  lgk        4096 Jan  7 05:41 .
drwx------. 18 lgk  lgk        4096 Jan  7 03:15 ..
drwxr-xr-x.  9 root root        180 Jan  7 05:39 clash-for-linux-master
-rw-rw-r--.  1 lgk  lgk    16784320 Jan  7 05:31 clash-for-linux-master.zip
-rw-rw-r--.  1 lgk  lgk   111225075 Jan  7 05:41 Clash.for.Windows-0.20.28-x64-linux.tar.gz
-rwxr-x---.  1 lgk  lgk  4207617207 Jan  6 22:50 cuda_12.0.1_525.85.12_linux.run ⭐️
-rw-rw-r--.  1 lgk  lgk  1430362197 Jan  6 22:51 cudnn-local-repo-rhel8-8.9.6.50-1.0-1.x86_64.rpm ⭐️
-rw-rw-r--.  1 lgk  lgk       25128 Jan  6 22:48 epel-release-latest-8.noarch.rpm
-rw-r--r--.  1 root root     348036 Jan 11  2022 freeimage-3.17.0-5.el8.x86_64.rpm
-rw-r--r--.  1 root root      39676 Jan 11  2022 freeimage-devel-3.17.0-5.el8.x86_64.rpm
drwxr-xr-x.  2 root root       4096 Jan  7 04:41 gpu-burn-master
-rw-rw-r--.  1 lgk  lgk       14391 Jan  7 04:30 gpu-burn-master.zip
-rw-r--r--.  1 root root     451848 Apr  7  2020 jxrlib-1.1-1.el8.x86_64.rpm
-rw-rw-r--.  1 lgk  lgk   164378334 Jan  6 22:33 microsoft-edge-stable_120.0.2210.121-1_amd64.deb
-rw-rw-r--.  1 lgk  lgk   166605200 Jan  7 04:48 microsoft-edge-stable-120.0.2210.121-1.x86_64.rpm
-rw-rw-r--.  1 lgk  lgk   141613749 Jan  7 02:56 Miniconda3-latest-Linux-x86_64.sh
-rwxrwxr-x.  1 lgk  lgk   341737575 Jan  7 00:49 NVIDIA-Linux-x86_64-535.146.02.run
-rw-rw-r--.  1 lgk  lgk      209952 Jan  6 22:48 yum-4.7.0-4.el8.noarch.rpm
-rw-rw-r--.  1 lgk  lgk       74276 Jan  6 22:48 yum-utils-4.0.21-3.el8.noarch.rpm🎯 Step 02: 通过命令行安装`CUDA`
- i:安装
- v:显示安装进度
- h:hash验证
(base) [root@localhost mnistCUDNN]# sudo rpm -ivh cuda_12.0.1_525.85.12_linux.run🎯 Step 03: 配置`.bashrc`文件
sudo vim ~/.bashrc
export PATH="/usr/local/cuda-12.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.0/lib64:$LD_LIBRARY_PATH"
source ~/.bashrc🎯 Step 04: 检查NVIDIA驱动师傅哦安装成功 
(base) [root@localhost mnistCUDNN]# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_16:45:21_PST_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0

Section 3.2: 安装CUDNN

  • 参考官网:Installation Guide - NVIDIA Docs

  • 注意事项:cuda.X.Y中的XY是NVIDIA的驱动版本,而非CUDA版本
    在这里插入图片描述

  • 具体操作

🎯 Step 01: 通过命令行安装`CUDNN`
(base) [root@localhost Downloads]# sudo rpm -ivh cudnn-local-repo-rhel8-8.9.6.50-1.0-1.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]package cudnn-local-repo-rhel8-8.9.6.50-1.0-1.x86_64 is already installed🎯 Step 02: 通过命令行安装`libcudnn8`
- i:安装
- v:显示安装进度
- h:hash验证(base) [root@localhost Downloads]# sudo yum install libcudnn8-8.9.6.50-1.cuda12.2
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.Last metadata expiration check: 0:22:45 ago on Sun 07 Jan 2024 06:34:14 AM EST.
Package libcudnn8-8.9.6.50-1.cuda12.2.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!🎯 Step 03: 通过命令行安装`libcudnn8-devel`
(base) [root@localhost Downloads]# sudo yum install libcudnn8-devel-8.9.6.50-1.cuda12.2
Updating Subscription Management repositories.
Unable to read consumer identityThis system is not registered with an entitlement server. You can use subscription-manager to register.Last metadata expiration check: 0:23:11 ago on Sun 07 Jan 2024 06:34:14 AM EST.
Package libcudnn8-devel-8.9.6.50-1.cuda12.2.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!🎯 Step 04: 通过命令行安装`libcudnn8-samples`
(base) [root@localhost Downloads]# sudo yum install libcudnn8-samples-8.9.6.50-1.cuda12.2
Updating Subscription Management repositories.
Unable to read consumer identityThis system is not registered with an entitlement server. You can use subscription-manager to register.Last metadata expiration check: 0:23:36 ago on Sun 07 Jan 2024 06:34:14 AM EST.
Package libcudnn8-samples-8.9.6.50-1.cuda12.2.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!🎯 Step 05: 测试cudnn是否安装成功
cd /usr/src/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN...
...
...Test passed!

Section 3.3: 测试CUDA与CUDNN

  • 通过Pytorch验证CUDACUDNN已经配置成功
(base) [lgk@localhost gpu-burn-master]$ conda activate ruifu
(ruifu) [lgk@localhost gpu-burn-master]$ python
Python 3.10.13 (main, Sep 11 2023, 13:44:35) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.backends.cudnn.version()
8902
>>> 

Section 4: GPU压力测试

  • GPU压力测试工具安装指导(RHEL8.2) - 知乎
(base) [root@localhost gpu-burn-master]# cd /home/lgk/Downloads/gpu-burn-master/
(base) [root@localhost gpu-burn-master]# make
make: 'gpu_burn' is up to date.
(base) [root@localhost gpu-burn-master]# ./gpu_burn
Run length not specified in the command line. Using compare file: compare.ptx
Burning for 10 seconds.
GPU 0: NVIDIA TITAN Xp (UUID: GPU-c2611617-5a63-404d-571b-afe332aae1e7)
Initialized device 0 with 12186 MB of memory (11510 MB available, using 10359 MB of it), using FLOATS
Results are 268435456 bytes each, thus performing 38 iterations
50.0%  proc'd: 38 (9356 Gflop/s)   errors: 0   temps: 26 C Summary at:   Sun Jan  7 07:55:53 EST 202490.0%  proc'd: 76 (9728 Gflop/s)   errors: 0   temps: 38 C Summary at:   Sun Jan  7 07:55:57 EST 2024100.0%  proc'd: 114 (9784 Gflop/s)   errors: 0   temps: 42 C 
Killing processes with SIGTERM (soft kill)
Freed memory for dev 0
Uninitted cublas
doneTested 1 GPUs:GPU 0: OK

Section 5: 参考文献

Section 5.1: RHEL系统安装

  • 光驱下载 | 通过Rufus制作RHEL的启动盘,并用于系统安装

  • 参考链接 | 通过Rufus制作RHEL的启动盘,并用于系统安装 — Ref1

  • 参考链接 | 通过Rufus制作RHEL的启动盘,并用于系统安装 — Ref2

Section 5.2: RHEL相关软件

  • 软件下载|Miniconda

  • 软件下载 | Edge

    • 解决方案 | Edge安装时报错及其解决方案
  • 上网配置 | GitHub - wnlen/clash-for-linux: clash-for-linux

  • 代理设置 | GitHub - ghostxu97/clash-for-linux

在这里插入图片描述


Section 5.3: 常见问题

  • 问题1: nividia-smi命令提供了哪些信息?
  • 答案1:
    在这里插入图片描述
  • 问题2: 如何选择CUDA版本?
  • 答案2:
    如果对于CUDA版本没有要求,一般选择一个不高于本机支持的最高CUDA版本安装即可,然后按照CUDA版本去下载对应的cuDNN版本
  • 问题3: 当前PyTorch最新支持的版本是多少?
  • 答案3:
    截止20240104,PyTorch支持的CUDA版本:CUDA 11.8, CUDA 12.1
    在这里插入图片描述
  • 问题 4:20240104: CUDNN有多个版本,如何选择?
  • 答案 4:
    知识点:cuda版本中的.x是什么意思?以Download cuDNN v8.9.4 (August 8th, 2023), for CUDA 12.x为例。“12.x” 表示 CUDA 版本号的一种通用表示法,其中 “x” 表示可以是任何数字,表示适用于该主要 CUDA 版本的所有次要版本。具体来说,CUDA 包括一个主要版本号和一个次要版本号,例如 CUDA 11.0、CUDA 11.1、CUDA 11.2 等。主要版本号通常表示 CUDA 的重大更新或变化,而次要版本号表示小的修复或改进。“cuDNN v8.9.4 for CUDA 12.x” 表示 cuDNN v8.9.4 是为 CUDA 12.x 系列的所有 CUDA 12 版本而设计的。也就是说,cuDNN v8.9.4 支持 CUDA 12.0、CUDA 12.1、CUDA 12.2 等所有的 CUDA 12.x 版本。这种表示法使得 cuDNN 能够与多个 CUDA 12 的次要版本兼容。
  • 问题 5:当需要的CUDA版本高于当前驱动最高支持的CUDA版本时,怎么办?
  • 答案 5:
    在这里插入图片描述
  • 问题6: 如何切换CUDA版本?
  • 回答6:
  • https://blog.csdn.net/JianJuly/article/details/102793103
  • 如果有安装多个cuda, 只需修改.bashrc文件中的版本号即可随意切换cuda版本。具体方法见安装cuda一节中的 5. 设置cuda环境变量。
    在这里插入图片描述

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

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

相关文章

超自动化助力企业财务转型升级

在快节奏的财务规划与分析环境中,传统的预算方法虽长期以来一直是企业制定有效决策的支柱,但已不足以驾驭当今复杂的商业环境。不断的经济变化、市场的不确定性以及利益相关者的需求增加促使企业寻求更敏捷的解决方案。如今,部分企业开始尝试…

lc 140. 单词拆分 II

回溯算法查询匹配单词 class Solution { public:unordered_map<string, int> word_map;void mapping(vector<string>& wordDict){for(auto &a : wordDict)word_map[a];}vector<string> ret;// s: 原始字符串// tmp: 已查询到的单词// …

CSS 彩虹按钮效果

<template><view class"content"><button class"btn">彩虹按钮</button></view> </template><script></script><style>body{background-color: #000;}.content {margin-top: 300px;}.btn {width: 1…

Debian12使用Xshell连接失败解决办法详细

1、Debian开启ssh服务 sudo apt update -y sudo apt install ssh2、编辑配置文件 # 安装vim sudo apt install vimvim /etc/ssh/sshd_config3、将#PermitRootLogin prohibit-password的注释去掉&#xff0c;设置为yes 4、将#PasswordAuthentication no的注释去掉&#xff0c;…

JAVA------IO流复制总结

IO流复制文件 方法一 字符 注意点&#xff1a;写和读需要保持一致的编码形式。 public class eee {public static void main(String[] args) {FileInputStream in null;FileOutputStream out null;OutputStreamWriter outw null;InputStreamReader inr null;try{out new …

VX小程序Burp抓包

方法有很多&#xff0c;工具也各有差异&#xff0c;主要是学代理流量的思路 Burp流量代理工具小程序 一、Burp证书导入 1、开启代理 开启浏览器的代理&#xff0c;火狐推荐FoxyProxy&#xff0c;Google推荐SwitchyOmega&#xff0c;设置代理为127.0.0.1:8080。 2、下载证书…

Apache Doris (六十三): Spark Doris Connector - (3)-配置型及列映射关系

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录 1. Spark 操作Doris配置项…

2023量子科技十大人物(团队) | 光子盒年度系列

今年&#xff0c;是量子科学与技术的又一个丰收年&#xff0c;学术研究团体和科技公司纷纷庆祝在量子计算、量子通信和量子计量学以及基础量子科学方面取得的重大成就。面对如此多令人兴奋的进展&#xff0c;我们不能不为这些进展庆祝——而所有这些的一切&#xff0c;都离不开…

深入了解static关键字的作用和应用--java面向对象学习

Static修饰成员变量 Static是什么 叫静态&#xff0c;可以修饰成员变量&#xff0c;成员方法 成员变量按有无static修饰分俩种&#xff1a; 类变量&#xff1a;有static修饰&#xff0c;属于类&#xff0c;在计算机里只有一份&#xff0c;会被类的全部对…

ssm基于Vue.js的网上招聘系统设计与实现+vue论文

摘 要 计算机网络发展到现在已经好几十年了&#xff0c;在理论上面已经有了很丰富的基础&#xff0c;并且在现实生活中也到处都在使用&#xff0c;可以说&#xff0c;经过几十年的发展&#xff0c;互联网技术已经把地域信息的隔阂给消除了&#xff0c;让整个世界都可以即时通话…

Qt6入门教程 4:Qt Creator常用技巧

在上一篇Qt6入门教程 3&#xff1a;创建Hello World项目中&#xff0c;通过创建一个Qt项目&#xff0c;对Qt Creator已经有了比较直观的认识&#xff0c;本文将介绍它的一些常用技巧。 Qt Creator启动后默认显示欢迎页面 创建项目已经用过了&#xff0c;打开项目也很简单&#…

漫漫数学之旅002

文章目录 一、经典格言二、数学习题三、古今评注四、科学家小传 - 开普勒开普勒第一定律(椭圆轨道定律)开普勒第二定律(面积定律)开普勒第三定律(调和定律)一、经典格言 自然追求尽可能的简单。——约翰尼斯开普勒(Johannes Kepler) 二、数学习题 假定你只有容量为3夸…

【HDFS】一次备NameNode宕机过久导致的生产事故

一次备NameNode宕机过久导致的生产事故 故障描述 最近发生的一个临时故障&#xff0c;情况是一个启了HA的HDFS集群&#xff0c;在2023年9月份因为两台NameNode同时启动产生一些问题&#xff0c;所以当时将一台节点停止&#xff0c;一直没有启动&#xff0c;具体为什么当时有问…

高效的图纸管理技巧、高效的图纸管理软件

高效的图纸管理技巧包括以下几个方面&#xff1a; 分类和组织&#xff1a;首先&#xff0c;确保你有一种清晰的图纸分类和组织系统。创建不同的文件夹来储存不同类型的图纸&#xff0c;如建筑、机械、电气等。更细的分类还可以按项目或客户进行划分。命名规则&#xff1a;为图…

QT:单例

单例的定义 官方定义&#xff1a;单例是指确保一个类在任何情况下都绝对只有一个实例&#xff0c;并提供一个全局访问点。 单例的写法 抓住3点&#xff1a; 构造函数私有化&#xff08;确保只有一个实例&#xff09;提供一个可以获取构造实例的接口&#xff08;提供唯一的实…

03.分支结构

分支结构 应用场景 迄今为止&#xff0c;我们写的Python代码都是一条一条语句顺序执行&#xff0c;这种代码结构通常称之为顺序结构。然而仅有顺序结构并不能解决所有的问题&#xff0c;比如我们设计一个游戏&#xff0c;游戏第一关的通关条件是玩家获得1000分&#xff0c;那…

实现珠宝业务快速扩张的关键:广东省珠宝行业ERP系统的价值

珠三角地区具备毗邻港澳及改革开放先行地的优势&#xff0c;为当地的产业发展带来技术和资金&#xff1b;同时&#xff0c;改革开放后该地区经济发展较快&#xff0c;当地居民的消费水平提高&#xff0c;消费转型&#xff0c;对珠宝首饰产品的需求也相应提高&#xff0c;逐渐形…

docker run 命令详解

一、前言 Docker容器是一个开源的应用容器引擎&#xff0c;让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何安装了Docker引擎的服务器上&#xff08;包括流行的Linux机器、Windows机器&#xff09;&#xff0c;也可以实现虚拟…

数据聚合、自动补全、数据同步、es集群

目录 数据聚合 聚合的分类 DSL实现bucket聚合 DSL实现Metrics聚合 RestAPI实现聚合 多条件聚合 带过滤条件的聚合 自动补全 安装拼音分词器 自定义分词器 completion suggester查询 修改索引库数据结构 RestAPI实现自动补全查询 实现搜索框自动补全 数据同步 数…

RabbitMQ(九)死信队列

目录 一、简介1.1 定义1.2 何时进入死信队列&#xff1f;1.3 死信消息的变化1.4 死信队列的应用场景1.5 死信消息的生命周期 二、代码实现2.1 死信队列的配置步骤2.2 配置类2.3 配置文件2.4 生产者2.5 业务消费者2.6 死信消费者2.7 测试结果 三、总结 RabbitMQ 是流行的开源消息…