TiDB数据库从入门到精通系列之一:TiDB数据库的软硬件环境要求和系统配置检查

news2024/11/22 20:37:16

TiDB数据库从入门到精通系列之一:TiDB数据库的软硬件环境要求和系统配置检查

  • 一、软件和硬件配置要求
    • 1.操作系统及平台要求
    • 2.服务器建议配置
    • 3.网络要求
    • 4.磁盘空间要求
  • 二、TiDB 环境与系统配置检查
    • 1.在 TiKV 部署目标机器上添加数据盘 EXT4 文件系统挂载参数
    • 2.设置 TiDB 节点的临时空间(推荐)
    • 3.检测及关闭目标部署机器的防火墙
    • 4.检测及安装 NTP 服务
    • 5.检查和配置操作系统优化参数
    • 6.执行以下命令验证透明大页的状态
    • 7.执行以下命令验证数据目录所在磁盘的 I/O 调度器
    • 8.执行以下命令查看 cpufreq 模块选用的节能策略
    • 9.执行以下命令修改 sysctl 参数
    • 10.执行以下命令配置用户的 limits.conf 文件
  • 三、手动配置 SSH 互信及 sudo 免密码
  • 四、安装 numactl 工具

一、软件和硬件配置要求

TiDB 作为一款开源一栈式实时 HTAP 数据库,可以很好地部署和运行在 Intel 架构服务器环境、ARM 架构的服务器环境及主流虚拟化环境,并支持绝大多数的主流硬件网络。作为一款高性能数据库系统,TiDB 支持主流的 Linux 操作系统环境。

1.操作系统及平台要求

针对不同操作系统和 CPU 架构的组合,TiDB 提供不同级别质量标准的支持。

在以下操作系统以及对应的 CPU 架构组合上,TiDB 可满足企业级生产质量的要求,产品特性经过全面且系统化的验证:

在这里插入图片描述

2.服务器建议配置

TiDB 支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器平台或者 ARM 架构的硬件服务器平台。对于开发、测试及生产环境的服务器硬件配置(不包含操作系统 OS 本身的占用)有以下要求和建议:

在这里插入图片描述
在这里插入图片描述

3.网络要求

TiDB 作为开源一栈式实时 HTAP 数据库,其正常运行需要网络环境提供如下的网络端口配置要求,管理员可根据实际环境中 TiDB 组件部署的方案,在网络侧和主机侧开放相关端口:

在这里插入图片描述

4.磁盘空间要求

在这里插入图片描述
客户端 Web 浏览器要求
TiDB 提供了基于 Grafana 的技术平台,对数据库集群的各项指标进行可视化展现。采用支持 Javascript 的微软 IE、Google Chrome、Mozilla Firefox 的较新版本即可访问监控入口。

二、TiDB 环境与系统配置检查

1.在 TiKV 部署目标机器上添加数据盘 EXT4 文件系统挂载参数

生产环境部署,建议使用 EXT4 类型文件系统的 NVME 类型的 SSD 磁盘存储 TiKV 数据文件。这个配置方案为最佳实施方案,其可靠性、安全性、稳定性已经在大量线上场景中得到证实。

使用 root 用户登录目标机器,将部署目标机器数据盘格式化成 ext4 文件系统,挂载时添加 nodelalloc 和 noatime 挂载参数。nodelalloc 是必选参数,否则 TiUP 安装时检测无法通过;noatime 是可选建议参数。

注意
如果你的数据盘已经格式化成 ext4 并挂载了磁盘,可先执行 umount /dev/nvme0n1p1 命令卸载,从编辑 /etc/fstab 文件步骤开始执行,添加挂载参数重新挂载即可。

以 /dev/nvme0n1 数据盘为例,具体操作步骤如下:

1.查看数据盘

fdisk -l
Disk /dev/nvme0n1: 1000 GB

2.创建分区

parted -s -a optimal /dev/nvme0n1 mklabel gpt -- mkpart primary ext4 1 -1

注意
使用 lsblk 命令查看分区的设备号:对于 nvme 磁盘,生成的分区设备号一般为 nvme0n1p1;对于普通磁盘(例如 /dev/sdb),生成的分区设备号一般为 sdb1。

3.格式化文件系统

mkfs.ext4 /dev/nvme0n1p1

4.查看数据盘分区 UUID

本例中 nvme0n1p1 的 UUID 为 c51eb23b-195c-4061-92a9-3fad812cc12f

lsblk -f
NAME    FSTYPE LABEL UUID                                 MOUNTPOINT
sda
├─sda1  ext4         237b634b-a565-477b-8371-6dff0c41f5ab /boot
├─sda2  swap         f414c5c0-f823-4bb1-8fdf-e531173a72ed
└─sda3  ext4         547909c1-398d-4696-94c6-03e43e317b60 /
sr0
nvme0n1
└─nvme0n1p1 ext4         c51eb23b-195c-4061-92a9-3fad812cc12f

5.编辑 /etc/fstab 文件,添加 nodelalloc 挂载参数

vi /etc/fstab
UUID=c51eb23b-195c-4061-92a9-3fad812cc12f /data1 ext4 defaults,nodelalloc,noatime 0 2

6.挂载数据盘

mkdir /data1 && \
mount -a

7.执行以下命令,如果文件系统为 ext4,并且挂载参数中包含 nodelalloc,则表示已生效

mount -t ext4

/dev/nvme0n1p1 on /data1 type ext4 (rw,noatime,nodelalloc,data=ordered)

2.设置 TiDB 节点的临时空间(推荐)

TiDB 的部分操作需要向服务器写入临时文件,因此需要确保运行 TiDB 的操作系统用户具有足够的权限对目标目录进行读写。如果 TiDB 实例不是以 root 权限启动,则需要检查目录权限并进行正确设置。

  • TiDB 临时工作区

    • 哈希表构建、排序等内存消耗较大的操作可能会向磁盘写入临时数据,用来减少内存消耗,提升稳定性。写入的磁盘位置由配置项 tmp-storage-path 定义。在默认设置下,确保运行 TiDB 的用户对操作系统临时文件夹(通常为 /tmp)有读写权限。
  • Fast Online DDL 工作区

    • 当变量 tidb_ddl_enable_fast_reorg 被设置为 ON(v6.5.0 及以上版本中默认值为 ON)时,会激活 Fast Online DDL,这时部分 DDL 要对临时文件进行读写。临时文件位置由配置 temp-dir 定义,需要确保运行 TiDB 的用户对操作系统中该目录有读写权限。以默认目录 /tmp/tidb 为例:

注意
如果业务中可能存在针对大对象的 DDL 操作,推荐为 temp-dir 配置独立文件系统及更大的临时空间。

sudo mkdir /tmp/tidb

如果目录 /tmp/tidb 已经存在,需确保有写入权限。

sudo chmod -R 777 /tmp/tidb

3.检测及关闭目标部署机器的防火墙

本段介绍如何关闭目标主机防火墙配置,因为在 TiDB 集群中,需要将节点间的访问端口打通才可以保证读写请求、数据心跳等信息的正常的传输。在普遍线上场景中,数据库到业务服务和数据库节点的网络联通都是在安全域内完成数据交互。如果没有特殊安全的要求,建议将目标节点的防火墙进行关闭。否则建议按照端口使用规则,将端口信息配置到防火墙服务的白名单中。

1.检查防火墙状态(以 CentOS Linux release 7.7.1908 (Core) 为例)

sudo firewall-cmd --state
sudo systemctl status firewalld.service

2.关闭防火墙服务

sudo systemctl stop firewalld.service

3.关闭防火墙自动启动服务

sudo systemctl disable firewalld.service

4.检查防火墙状态

sudo systemctl status firewalld.service

4.检测及安装 NTP 服务

TiDB 是一套分布式数据库系统,需要节点间保证时间的同步,从而确保 ACID 模型的事务线性一致性。目前解决授时的普遍方案是采用 NTP 服务,可以通过互联网中的 pool.ntp.org 授时服务来保证节点的时间同步,也可以使用离线环境自己搭建的 NTP 服务来解决授时。

采用如下步骤检查是否安装 NTP 服务以及与 NTP 服务器正常同步:

1.执行以下命令,如果输出 running 表示 NTP 服务正在运行:

sudo systemctl status ntpd.service
ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: active (running) since 一 2017-12-18 13:13:19 CST; 3s ago

若返回报错信息 Unit ntpd.service could not be found.,请尝试执行以下命令,以查看与 NTP 进行时钟同步所使用的系统配置是 chronyd 还是 ntpd:

sudo systemctl status chronyd.service
chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-04-05 09:55:29 EDT; 3 days ago

若发现系统既没有配置 chronyd 也没有配置 ntpd,则表示系统尚未安装任一服务。此时,应先安装其中一个服务,并保证它可以自动启动,默认使用 ntpd。

如果你使用的系统配置是 chronyd,请直接执行步骤 3。

2.执行 ntpstat 命令检测是否与 NTP 服务器同步:

注意Ubuntu 系统需安装 ntpstat 软件包。

ntpstat

如果输出 synchronised to NTP server,表示正在与 NTP 服务器正常同步:

synchronised to NTP server (85.199.214.101) at stratum 2
time correct to within 91 ms
polling server every 1024 s

以下情况表示 NTP 服务未正常同步:

unsynchronised

以下情况表示 NTP 服务未正常运行:

Unable to talk to NTP daemon. Is it running?

3.执行 chronyc tracking 命令查看 Chrony 服务是否与 NTP 服务器同步。

chronyc tracking

如果该命令返回结果为 Leap status : Normal,则代表同步过程正常。

Reference ID    : 5EC69F0A (ntp1.time.nl)
Stratum         : 2
Ref time (UTC)  : Thu May 20 15:19:08 2021
System time     : 0.000022151 seconds slow of NTP time
Last offset     : -0.000041040 seconds
RMS offset      : 0.000053422 seconds
Frequency       : 2.286 ppm slow
Residual freq   : -0.000 ppm
Skew            : 0.012 ppm
Root delay      : 0.012706812 seconds
Root dispersion : 0.000430042 seconds
Update interval : 1029.8 seconds
Leap status     : Normal

如果该命令返回结果如下,则表示同步过程出错:

Leap status    : Not synchronised

如果该命令返回结果如下,则表示 Chrony 服务未正常运行:

506 Cannot talk to daemon

如果要使 NTP 服务尽快开始同步,执行以下命令。可以将 pool.ntp.org 替换为你的 NTP 服务器:

sudo systemctl stop ntpd.service && \
sudo ntpdate pool.ntp.org && \
sudo systemctl start ntpd.service

如果要在 CentOS 7 系统上手动安装 NTP 服务,可执行以下命令:

sudo yum install ntp ntpdate && \
sudo systemctl start ntpd.service && \
sudo systemctl enable ntpd.service

5.检查和配置操作系统优化参数

在生产系统的 TiDB 中,建议对操作系统进行如下的配置优化:

  • 关闭透明大页(即 Transparent Huge Pages,缩写为 THP)。数据库的内存访问模式往往是稀疏的而非连续的。当高阶内存碎片化比较严重时,分配 THP 页面会出现较高的延迟。
  • 将存储介质的 I/O 调度器设置为 noop。对于高速 SSD 存储介质,内核的 I/O 调度操作会导致性能损失。将调度器设置为 noop 后,内核不做任何操作,直接将 I/O 请求下发给硬件,以获取更好的性能。同时,noop 调度器也有较好的普适性。
  • 为调整 CPU 频率的 cpufreq 模块选用 performance 模式。将 CPU 频率固定在其支持的最高运行频率上,不进行动态调节,可获取最佳的性能。

采用如下步骤检查操作系统的当前配置,并配置系统优化参数:

1.执行以下命令查看透明大页的开启状态。

cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

注意
[always] madvise never 表示透明大页处于启用状态,需要关闭。

2.执行以下命令查看数据目录所在磁盘的 I/O 调度器。假设在 sdb、sdc 两个磁盘上创建了数据目录。

cat /sys/block/sd[bc]/queue/scheduler
noop [deadline] cfq
noop [deadline] cfq

注意
noop [deadline] cfq 表示磁盘的 I/O 调度器使用 deadline,需要进行修改。

执行以下命令查看磁盘的唯一标识 ID_SERIAL。

udevadm info --name=/dev/sdb | grep ID_SERIAL
E: ID_SERIAL=36d0946606d79f90025f3e09a0c1f9e81
E: ID_SERIAL_SHORT=6d0946606d79f90025f3e09a0c1f9e81

注意
如果多个磁盘都分配了数据目录,需要多次执行以上命令,记录所有磁盘各自的唯一标识。

4.执行以下命令查看 cpufreq 模块选用的节能策略。

cpupower frequency-info --policy
analyzing CPU 0:
current policy: frequency should be within 1.20 GHz and 3.10 GHz.
              The governor "powersave" may decide which speed to use within this range.

注意
The governor “powersave” 表示 cpufreq 的节能策略使用 powersave,需要调整为 performance 策略。如果是虚拟机或者云主机,则不需要调整,命令输出通常为 Unable to determine current policy。

5.配置系统优化参数
使用 tuned(推荐)
a.执行 tuned-adm list 命令查看当前操作系统的 tuned 策略。

tuned-adm list
Available profiles:
- balanced                    - General non-specialized tuned profile
- desktop                     - Optimize for the desktop use-case
- hpc-compute                 - Optimize for HPC compute workloads
- latency-performance         - Optimize for deterministic performance at the cost of increased power consumption
- network-latency             - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
- network-throughput          - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
- powersave                   - Optimize for low power consumption
- throughput-performance      - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
- virtual-guest               - Optimize for running inside a virtual guest
- virtual-host                - Optimize for running KVM guests
Current active profile: balanced

Current active profile: balanced 表示当前操作系统的 tuned 策略使用 balanced,建议在当前策略的基础上添加操作系统优化配置。

b.创建新的 tuned 策略。

mkdir /etc/tuned/balanced-tidb-optimal/
vi /etc/tuned/balanced-tidb-optimal/tuned.conf
[main]
include=balanced

[cpu]
governor=performance

[vm]
transparent_hugepages=never

[disk]
devices_udev_regex=(ID_SERIAL=36d0946606d79f90025f3e09a0c1fc035)|(ID_SERIAL=36d0946606d79f90025f3e09a0c1f9e81)
elevator=noop

include=balanced 表示在现有的 balanced 策略基础上添加操作系统优化配置。

c.应用新的 tuned 策略。

tuned-adm profile balanced-tidb-optimal

6.执行以下命令验证透明大页的状态

cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

7.执行以下命令验证数据目录所在磁盘的 I/O 调度器

cat /sys/block/sd[bc]/queue/scheduler
[noop] deadline cfq
[noop] deadline cfq

8.执行以下命令查看 cpufreq 模块选用的节能策略

cpupower frequency-info --policy
analyzing CPU 0:
current policy: frequency should be within 1.20 GHz and 3.10 GHz.
              The governor "performance" may decide which speed to use within this range.

9.执行以下命令修改 sysctl 参数

echo "fs.file-max = 1000000">> /etc/sysctl.conf
echo "net.core.somaxconn = 32768">> /etc/sysctl.conf
echo "net.ipv4.tcp_tw_recycle = 0">> /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies = 0">> /etc/sysctl.conf
echo "vm.overcommit_memory = 1">> /etc/sysctl.conf
sysctl -p

10.执行以下命令配置用户的 limits.conf 文件

cat << EOF >>/etc/security/limits.conf
tidb           soft    nofile          1000000
tidb           hard    nofile          1000000
tidb           soft    stack          32768
tidb           hard    stack          32768
EOF

三、手动配置 SSH 互信及 sudo 免密码

对于有需求,通过手动配置中控机至目标节点互信的场景,可参考本段。通常推荐使用 TiUP 部署工具会自动配置 SSH 互信及免密登录,可忽略本段内容。

1.以 root 用户依次登录到部署目标机器创建 tidb 用户并设置登录密码

useradd tidb && \
passwd tidb

2.执行以下命令,将 tidb ALL=(ALL) NOPASSWD: ALL 添加到文件末尾,即配置好 sudo 免密码

visudo
tidb ALL=(ALL) NOPASSWD: ALL

3.以 tidb 用户登录到中控机,执行以下命令。将 10.0.1.1 替换成你的部署目标机器 IP,按提示输入部署目标机器 tidb 用户密码,执行成功后即创建好 SSH 互信,其他机器同理。新建的 tidb 用户下没有 .ssh 目录,需要执行生成 rsa 密钥的命令来生成 .ssh 目录。如果要在中控机上部署 TiDB 组件,需要为中控机和中控机自身配置互信。

ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.1.1

4.以 tidb 用户登录中控机,通过 ssh 的方式登录目标机器 IP。如果不需要输入密码并登录成功,即表示 SSH 互信配置成功。

ssh 10.0.1.1
[tidb@10.0.1.1 ~]$

5.以 tidb 用户登录到部署目标机器后,执行以下命令,不需要输入密码并切换到 root 用户,表示 tidb 用户 sudo 免密码配置成功。

sudo -su root
[root@10.0.1.1 tidb]#

四、安装 numactl 工具

本段主要介绍如何安装 NUMA 工具。在生产环境中,因为硬件机器配置往往高于需求,为了更合理规划资源,会考虑单机多实例部署 TiDB 或者 TiKV。NUMA 绑核工具的使用,主要为了防止 CPU 资源的争抢,引发性能衰退。

注意:

  • NUMA 绑核是用来隔离 CPU 资源的一种方法,适合高配置物理机环境部署多实例使用。
  • 通过 tiup cluster deploy 完成部署操作,就可以通过 exec 命令来进行集群级别管理工作。

安装 NUMA 工具有两种方法:

方法 1:登录到目标节点进行安装(以 CentOS Linux release 7.7.1908 (Core) 为例)。

sudo yum -y install numactl

方法 2:通过 tiup cluster exec 在集群上批量安装 NUMA。

使用 TiUP 安装 TiDB 集群,参考使用 TiUP 部署 TiDB 集群完成 tidb-test 集群的部署。如果本地已有集群,可跳过这一步。

tiup cluster deploy tidb-test v6.1.0 ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa]

执行 tiup cluster exec 命令,以 sudo 权限在 tidb-test 集群所有目标主机上安装 NUMA。

tiup cluster exec tidb-test --sudo --command "yum -y install numactl"

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

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

相关文章

ECOLOGY9实现正文文档按发布范围授权查看

需求&#xff1a;E9流程需要流程归档后&#xff0c;正文文档按发布范围授权查看&#xff0c;不需要是流程参与者。 解决&#xff1a;表单中定义发布范围是人力资源条件 在流程基础设置-功能设置中设置启用按人力资源 条件字段赋权。 实现的效果。

司徒理财:8.15黄金美盘多空最新操作建议

黄金一直没能跌破1902的支撑&#xff0c;司徒理财依旧维持低多看涨的思路不变&#xff0c;早盘1905多单继续持有中&#xff0c;静待美盘拉升&#xff01;黄金现在的下跌力度已经衰竭&#xff0c;并且日线上已经跌至200日均线的支撑位置&#xff0c;大周期的均线支撑&#xff0c…

WSL2 ubuntu子系统OpenCV调用本机摄像头的RTSP视频流做开发测试

文章目录 前言一、Ubuntu安装opencv库二、启动 Windows 本机的 RTSP 视频流下载解压 EasyDarwin查看本机摄像头设备开始推流 三、在ubuntu 终端编写代码创建目录及文件创建CMakeLists.txt文件启动 cmake 配置并构建 四、结果展示启动图形界面在图形界面打开终端找到 rtsp_demo运…

阿里云与中国中医科学院合作,推动中医药行业数字化和智能化发展

据相关媒体消息&#xff0c;阿里云与中国中医科学院的合作旨在推动中医药行业的数字化和智能化发展。随着互联网的进步和相关政策的支持&#xff0c;中医药产业受到了国家的高度关注。这次合作将以“互联网 中医药”为载体&#xff0c;致力于推进中医药文化的传承和创新发展。…

PDB Database - 高质量 RCSB PDB 蛋白质结构筛选与过滤

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132307119 Protein Data Bank (PDB) 是一个收集和存储三维结构数据的公共数据库&#xff0c;主要包括蛋白质和核酸分子。PDB 由美国、欧洲和日本三…

机器学习深度学习——机器翻译(序列生成策略)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——seq2seq实现机器翻译&#xff08;详细实现与原理推导&#xff09; &#x1f4da;订阅专栏&#xff1a;机…

卡车盲区监测+360全景

一、背景分析 1.AI视觉智能终端的ADAS主动防撞告警、DMS驾驶员异常行为告警功能。通过摄像头和人工智能算法对前方车辆、车道、交通场景进行检测识别&#xff0c;再结合对车辆运动状态和驾驶员行为的分析&#xff0c;有效预测ADAS前车碰撞、车道偏离等危险&#xff0c;并对DMS…

pytorch3d成功安装

一、pytorch3d是什么&#xff1f; PyTorch3D的目标是帮助加速深度学习和3D交叉点的研究。3D数据比2D图像更复杂&#xff0c;在从事Mesh R-CNN和C3DPO等项目时&#xff0c;我们遇到了一些挑战&#xff0c;包括3D数据表示、批处理和速度。我们开发了许多有用的算子和抽象&#xf…

好用画流程图软件推荐 excalidraw

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;蚂蚁集团高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《EffectiveJava》独家解析》专栏作者。 热门文章推荐…

《Zookeeper》源码分析(十一)之选举通信网络辅助类

目录 Listener数据结构构造函数run() ListenerHandler数据结构run() SendWorker数据结构构造函数run() RecvWorker数据结构run() Listener Listener用于管理服务器的选举端口。 数据结构 构造函数 run() Listener的主要工作是创建一系列的ListenerHandler并将他们投放到线程池…

无线充电底座

<项目>无线充电器 前言 个人DIY的无线充电底座&#xff08;带磁吸&#xff09;&#xff0c;基于IP6829方案。 Drawn By:67373 硬件部分 3D模型 资料开源链接 https://github.com/linggan17/WirelessCharge

03-循环和关系表达式

循环和关系表达式 5.1、for循环 例子 // forloop.cpp -- introducing the for loop #include <iostream> int main() {using namespace std;int i; // create a counter // initialize; test ; updatefor (i 0; i < 5; i)cout << "C knows loops.\n…

从零开始学习VBA(一)

前置配置设置 首先配置开发设置&#xff08;不同版本的配置方法会有差异&#xff0c;可根据自己使用的EXCEL版本到网络上找对应的方法&#xff0c;比如直接搜索Excel2010 开发工具&#xff09; 以下为excel2016配置方法&#xff1a; 操作路径&#xff1a;文件-选项-自定义功…

1269. 停在原地的方案数

链接&#xff1a; ​​​​​​1269. 停在原地的方案数 题解&#xff1a;坐标型动态规划 class Solution { public:int numWays(int steps, int arrLen) {if (arrLen < 0) {return 0;}// 因为需要返回到0下标位置所以&#xff0c;最远也就是一半int len std::min(steps/…

【福建事业单位-公共基础-】01哲学基本概述和唯物论

【福建事业单位-公共基础-】01哲学基本概述和唯物论 一、哲学基本概述二、辩证唯物论&#xff08;1题&#xff09; 相关考点 一、哲学基本概述 向导、导向、指导&#xff0c;都是中性词&#xff0c;都可以&#xff1b;但是先导是褒义词&#xff0c;要跟上真正的哲学&#xff1…

免费Scrum敏捷开发工具管理敏捷项目

Scrum中非常强调公开、透明、直接有效的沟通&#xff0c;这也是“可视化的管理工具”在敏捷开发中如此重要的原因之一。通过“可视化的管理工具”让所有人直观的看到需求&#xff0c;故事&#xff0c;任务之间的流转状态&#xff0c;可以使团队成员更加快速适应敏捷开发流程。 …

YOLOv5算法改进(1)— 如何去改进YOLOv5算法

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。YOLOv5基础知识入门系列、YOLOv5源码中的参数超详细解析系列和YOLOv5入门实践系列学习完成之后&#xff0c;接着就进入YOLOv5进阶改进算法系列了。&#x1f389;为了让大家能够清楚地了解如何去改进YOLOv5算法以及从哪几方…

【Visual Studio Code】--- Win11 配置 VS Code 为中文 超详细

Win11 配置 VS Code 为中文 超详细 一、概述二、重要提示二、配置 VS Code 为中文 一、概述 一个好的文章能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径&#xff0c;学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。 二、重要提示…

【数理知识】向量的坐标基表示法,Matlab 代码验证

序号内容1【数理知识】向量的坐标基表示法&#xff0c;Matlab 代码验证2【数理知识】向量与基的内积&#xff0c;Matlab 代码验证 文章目录 1. 向量的坐标基表示2. 二维平面向量举例3. Matlab 代码验证Ref 1. 向量的坐标基表示 假设空间中存在一个向量 a ⃗ \vec{a} a &#…

2023讯飞AI开发者大赛-基于可见光图像的柑橘花果梢语义分割挑战赛-初赛记录

初识数据 注册账号后下载数据集 文件目录如下&#xff1a; test中image有75张图片&#xff0c;train中image有225张图&#xff0c;对应json中的225个标注文件&#xff0c;是labelme导出的。训练&#xff1a;测试 遵循3&#xff1a;1原则。 图片分辨率为608*608&#xff1b; …