news 2026/10/22 20:51:32

1.使用cephadm部署ceph集群(ceph)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1.使用cephadm部署ceph集群(ceph)

一、前言

本文主要介绍如何通过cephadm部署ceph集群。

环境说明:

部署方法:cephadm

操作系统:ubuntu22.04

ceph版本:S版本

部署过程中需要拉ceph镜像,可以直接去我个人镜像仓库拉取

二、架构图

ceph的架构图如下,后期博客会按照这个架构图详细更新解释,大家可以先看下。

本次内容主要还是“使用cephadm部署ceph集群”

三、官网

官网链接:

https://ceph.io/en/

官网文档链接:

Welcome to Ceph — Ceph Documentation

中文社区文档链接:

https://docs.ceph.net.cn (正常)

http://docs.ceph.org.cn (已停止维护)

官方软件下载仓库

Index of /

四、版本说明

本文部署的是19.2.2 S版本

1.看ceph的版本

1>大版本

Ceph Releases (index) — Ceph Documentation

​

2>小版本

​​​​​​https://docs.ceph.com/en/latest/releases/general/

x.0.z 开发版本,一般是用于内部测试。

x.1.z 测试版本,一般是开发人员测试使用。

x.2.z 稳定版本,生产环境中推荐使用。

​

五、安装ceph的常用工具

Installing Ceph — Ceph Documentation

​

1.官网推荐安装方法

一、方法一
cephadm(必须有podman或者docker环境)(podman是一种容器管理工具,和docker一样;podman是红帽的,ceph也是红帽的)

二、方法二
rook(前提必须是先有k8s集群)

​

2.其他方法(其他方法中之前有ceph-ansible和ceph-deploy)

​

ceph-deploy(ceph的原生部署工具):
(1)ceph-deploy是一种部署ceph的方法,它仅依赖于SSH访问服务器、而后借助sudo和一些Python模块就可以实现部署。
(2)它完全在工作站(管理主机)上运行,不需要任何服务、数据库或类似的东西。
(3)它不是一个通用的部署系统,它只是为Ceph设计的,并且是为那些希望在不需要安装Chef、Puppet或Juju的情况下使用合理的初始设置快速运行Ceph的用户而设计的。
(4)除了推送Ceph配置文件之外,它不会处理客户端配置,想要对安全设置、分区或目录位置进行精确控制的用户应该使用Chef或Puppet之类的工具。

ceph-ansible:
(1)我们可以使用ansible的playbook来部署Ceph;
(2)ceph的GitHub地址为: "https://github.com/ceph/ceph-ansible"

ceph-chef:
对应的GitHub地址: "https://github.com/ceph/ceph-chef"

puppet-ceph:
即使用puppet工具来部署ceph。

Cephadm:
和k8s的kubeadm一样好用,部署服务非常方便,推荐使用。
参考链接:
https://docs.ceph.com/en/latest/install/#other-methods

ceph:
https://github.com/ceph/ceph

3.cephadm部署ceph集群

Using Cephadm to Deploy a New Ceph Cluster — Ceph Documentation

​

六、使用cephadm部署ceph

官网链接:

Using Cephadm to Deploy a New Ceph Cluster — Ceph Documentation

1.cephadm基础配置环境准备

不会准备的虚拟机的可以参考我之前博客:

https://blog.csdn.net/2402_84026123/article/details/167703896?spm=1011.2415.3001.10575&sharefrom=mp_manage_link

基于cephadm部署前提条件,官方提的要求Ubuntu 22.04 LTS出了容器运行时其他都满足

  • Python 3

  • Systemd

  • Podman or Docker for running containers

  • Time synchronization (such as Chrony or the legacy ntpd)

  • LVM2 for provisioning storage devices

Using Cephadm to Deploy a New Ceph Cluster — Ceph Documentation

1.虚拟机环境准备

准备3台ubt22.04LTS的虚拟机

ceph141:

ip:10.0.0.141

CPU: 1c ​ Memory: 2G ​ /dev/sdb:300GB ​ /dev/sdc: 500GB ​ /dev/sdd: 1024GB

ceph142:

ip:10.0.0.142

CPU: 1c ​ Memory: 2G ​ /dev/sdb:300GB ​ /dev/sdc: 500GB ​ /dev/sdd: 1024GB

ceph143:

ip:10.0.0.0.143

CPU: 1c ​ Memory: 2G ​ /dev/sdb:300GB ​ /dev/sdc: 500GB ​ /dev/sdd: 1024GB

​

[root@ceph141 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 63.9M 1 loop /snap/core20/2318 loop1 7:1 0 87M 1 loop /snap/lxd/29351 loop2 7:2 0 64M 1 loop /snap/core20/2379 loop3 7:3 0 89.4M 1 loop /snap/lxd/31333 loop4 7:4 0 40.4M 1 loop /snap/snapd/20671 loop5 7:5 0 38.8M 1 loop /snap/snapd/21759 sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 98G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 49G 0 lvm / sdb 8:16 0 300G 0 disk sdc 8:32 0 500G 0 disk sdd 8:48 0 1T 0 disk sr0 11:0 1 1024M 0 rom [root@ceph141 ~]# [root@ceph142 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop1 7:1 0 87M 1 loop /snap/lxd/29351 loop2 7:2 0 38.8M 1 loop /snap/snapd/21759 loop3 7:3 0 40.4M 1 loop /snap/snapd/20671 loop4 7:4 0 64M 1 loop /snap/core20/2379 loop5 7:5 0 89.4M 1 loop /snap/lxd/31333 loop6 7:6 0 63.7M 1 loop /snap/core20/2496 sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 98G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 49G 0 lvm / sdb 8:16 0 300G 0 disk sdc 8:32 0 500G 0 disk sdd 8:48 0 1T 0 disk sr0 11:0 1 1024M 0 rom [root@ceph142 ~]# [root@ceph143 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 89.4M 1 loop /snap/lxd/31333 loop1 7:1 0 64M 1 loop /snap/core20/2379 loop2 7:2 0 87M 1 loop /snap/lxd/29351 loop3 7:3 0 40.4M 1 loop /snap/snapd/20671 loop5 7:5 0 38.8M 1 loop /snap/snapd/21759 loop6 7:6 0 63.7M 1 loop /snap/core20/2496 sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 98G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 49G 0 lvm / sdb 8:16 0 300G 0 disk sdc 8:32 0 500G 0 disk sdd 8:48 0 1T 0 disk sr0 11:0 1 1024M 0 rom [root@ceph143 ~]#

不会安装操作系统的参考我之前博客:

Ubuntu操作系统安装-CSDN博客

2.三台服务器都设置时区

timedatectl set-timezone Asia/Shanghai ll /etc/localtime

3.安装docker环境(三台都安装)

不会安装docker的参考我之前博客(二进制部署docker)

Docker进阶之路(1)-CSDN博客

4.所有节点添加hosts文件解析(三台都执行)

cat >> /etc/hosts <<EOF 10.0.0.141 ceph141 10.0.0.142 ceph142 10.0.0.143 ceph143 EOF

2.安装cephadm工具

官网下载链接:

Index of /

1.下载需要安装ceph版本的cephadm

方法一、直接用curl安装

[root@ceph141 ~]# CEPH_RELEASE=19.2.2 curl --silent --remote-name --location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm [root@ceph141 ~]# ll cephadm -rw-r--r-- 1 root root 787576 Oct 8 15:56 cephadm

方法二、在浏览器下载下来,然后再传到服务器里面

打开网站,搜索19.2.2版本(这里我们用这个版本,建议统一和我一个版本)

​

​

​

​

2 将cephadm添加到PATH环境变量

[root@ceph141 ~]# mv cephadm /usr/local/bin/cephadm [root@ceph141 ~]# chmod +x /usr/local/bin/cephadm [root@ceph141 ~]# ll /usr/local/bin/cephadm -rwxr-xr-x 1 root root 787576 Oct 8 15:44 /usr/local/bin/cephadm* [root@ceph141 ~]#

3 检查版本是否正确

[root@ceph141 ~]# cephadm version cephadm version 19.2.2 (0eceb0defba60152a8182f7bd87d164b639885b8) squid (stable) [root@ceph141 ~]#

3.基于cephadm快速初始化ceph集群(141操作)

1.拉取镜像

方法一、去官网拉取镜像,有下列这些镜像

[root@ceph141 ~]# docker image ls | awk '{print $1":"$2}' REPOSITORY:TAG quay.io/ceph/ceph:v19 quay.io/prometheus/prometheus:v2.51.0 grafana/grafana:10.4.0 quay.io/prometheus/node-exporter:v1.7.0 quay.io/prometheus/alertmanager:v0.25.0 [root@ceph141 ~]#

把镜像导入到本地

[root@ceph141 ~]#docker load -i 镜像包

方法二、直接去我个人的镜像仓库拉取

镜像连接:

crpi-2qt1qcwq3ji0zfnc.cn-chengdu.personal.cr.aliyuncs.com/wuyuhua666888/ceph:v19

crpi-2qt1qcwq3ji0zfnc.cn-chengdu.personal.cr.aliyuncs.com/wuyuhua666888/prometheus:v2.51.0

crpi-2qt1qcwq3ji0zfnc.cn-chengdu.personal.cr.aliyuncs.com/wuyuhua666888/node-exporter:v1.7.0

crpi-2qt1qcwq3ji0zfnc.cn-chengdu.personal.cr.aliyuncs.com/wuyuhua666888/alertmanager:v0.25.0

crpi-2qt1qcwq3ji0zfnc.cn-chengdu.personal.cr.aliyuncs.com/wuyuhua666888/grafana:10.4.0

拉下来自己打个tag就可以了,示例

[root@ceph141 ~]# docker tag crpi-2qt1qcwq3ji0zfnc.cn-chengdu.personal.cr.aliyuncs.com/wuyuhua666888/node-exporter:v1.7.0 quay.io/prometheus/node-exporter:v1.7.0

​

2 创建新集群

--skip-pull

直接到本地拉取镜像,不加会走外网拉镜像

[root@ceph141 ~]# cephadm bootstrap --mon-ip 10.0.0.141 --cluster-network 10.0.0.0/24 --allow-fqdn-hostname --skip-pull

​

3.浏览器访问登录

url和账号密码都在上一步初始化的结果里面

​

设置一个新密码

​

成功进入主界面

​

4.配置ceph集群的管理节点的两种方式

方式一、ceph客户端直接管理,需要下载ceph-common工具

方式二、cephadm shell容器管理

1.在宿主机安装ceph管理命令

1 添加软件源

[root@ceph141 ~]# cephadm add-repo --release squid Installing repo GPG key from https://download.ceph.com/keys/release.gpg... Installing repo file at /etc/apt/sources.list.d/ceph.list... Updating package list... Completed adding repo. [root@ceph141 ~]# [root@ceph141 ~]# ll /etc/apt/sources.list.d/ceph.list -rw-r--r-- 1 root root 55 Mar 31 16:38 /etc/apt/sources.list.d/ceph.list [root@ceph141 ~]# [root@ceph141 ~]# ll /etc/apt/trusted.gpg.d/ceph.release.gpg -rw-r--r-- 1 root root 1143 Mar 31 16:38 /etc/apt/trusted.gpg.d/ceph.release.gpg [root@ceph141 ~]# [root@ceph141 ~]# ll /etc/ceph/ total 20 drwxr-xr-x 2 root root 4096 Mar 31 15:37 ./ drwxr-xr-x 130 root root 4096 Mar 31 15:30 ../ -rw------- 1 root root 151 Mar 31 15:37 ceph.client.admin.keyring -rw-r--r-- 1 root root 171 Mar 31 15:37 ceph.conf -rw-r--r-- 1 root root 595 Mar 31 15:33 ceph.pub [root@ceph141 ~]#

替换成国内阿里的加速源

[root@ceph141 ~]# sed -i 's#download.ceph.com#mirrors.aliyun.com/ceph#' /etc/apt/sources.list.d/ceph.list [root@ceph141 ~]# cat /etc/apt/sources.list.d/ceph.list deb https://mirrors.aliyun.com/ceph/debian-squid/ jammy main [root@ceph141 ~]#

2 安装ceph通用工具包

[root@ceph141 ~]# apt update [root@ceph141 ~]# apt -y install ceph-common

3.测试使用

​

2.基于容器管理ceph集群

1 启动shell工具

执行cephadm shell,会自动进入一个容器,可以在容器里面直接使用ceph命令,管理ceph

​

2 本质上是启动了一个容器【当命令执行结束时,容器会自动删除!】

​

5.ceph集群添加主机、删除主机

1.添加主机

1.镜像导入其他两个节点

将docker和镜像重新从ceph141节点导入到ceph142和ceph143节点。

docker load导入即可。

2.把秘钥放到其他服务器上

[root@ceph141 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub ceph142 [root@ceph141 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub ceph143

3.添加主机

[root@ceph141 ~]# ceph orch host add ceph142 10.0.0.142 Added host 'ceph142' with addr '10.0.0.142' [root@ceph141 ~]# [root@ceph141 ~]# ceph orch host add ceph143 10.0.0.143 Added host 'ceph143' with addr '10.0.0.143' [root@ceph141 ~]#

温馨提示: 将集群加入成功后,会自动创建"/var/lib/ceph/<Ceph_Cluster_ID>"相关数据目录。

4.查看主机列表

​

[root@ceph141 ~]# ceph orch host ls HOST ADDR LABELS STATUS ceph141 10.0.0.141 _admin ceph142 10.0.0.142 ceph143 10.0.0.143 3 hosts in cluster [root@ceph141 ~]#

5.通过浏览器查看集群列表

发现三台都可用了

​

2.删除主机

删除ceph143主机,来演示下“如何删除主机”

1.驱逐已经调度到节点的服务

[root@ceph141 ~]# ceph orch host drain ceph143 Scheduled to remove the following daemons from host 'ceph143' type id -------------------- --------------- node-exporter ceph143 mon ceph143 ceph-exporter ceph143 crash ceph143 [root@ceph141 ~]#

2.驱逐后主机将被标记为不可调度

[root@ceph141 ~]# ceph orch host ls HOST ADDR LABELS STATUS ceph141 10.0.0.141 _admin ceph142 10.0.0.142 ceph143 10.0.0.143 _no_schedule,_no_conf_keyring 3 hosts in cluster [root@ceph141 ~]#

3.观察已经驱逐完毕

[root@ceph141 ~]# ceph orch host drain ceph143 Scheduled to remove the following daemons from host 'ceph143' type id -------------------- --------------- [root@ceph141 ~]#

也可以看下daemon运行情况(驱逐后ceph143节点上没有daemon在运行)

[root@ceph141 ~]# ceph orch ps NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID CONTAINER ID alertmanager.ceph141 ceph141 *:9093,9094 running (5h) 12s ago 27h 24.9M - 0.25.0 c8568f914cd2 5bfdbc4589fa ceph-exporter.ceph141 ceph141 *:9926 running (5h) 12s ago 27h 7487k - 19.2.6 829c8a87e883 430386604cc7 ceph-exporter.ceph142 ceph142 *:9926 running (5h) 6m ago 5h 5231k - 19.2.6 829c8a87e883 0d3a5f0031df crash.ceph141 ceph141 running (5h) 12s ago 27h 18.8M - 19.2.6 829c8a87e883 2afb5e7f6b5c crash.ceph142 ceph142 running (5h) 6m ago 5h 4503k - 19.2.6 829c8a87e883 325bf42faec4 grafana.ceph141 ceph141 *:3000 running (5h) 12s ago 27h 179M - 12.3.1 5cdab57891ea 90fbbc9f2188 mgr.ceph141.hdvoti ceph141 *:9283,8765,8443 running (5h) 12s ago 27h 186M - 19.2.6 829c8a87e883 e949c78b86f3 mgr.ceph142.zicwnb ceph142 *:8443,9283,8765 running (5h) 6m ago 5h 111M - 19.2.6 829c8a87e883 46322e43fdca mon.ceph141 ceph141 running (5h) 12s ago 27h 78.1M 2048M 19.2.6 829c8a87e883 261a121614e5 mon.ceph142 ceph142 running (5h) 6m ago 5h 87.9M 2048M 19.2.6 829c8a87e883 c4cfa477d901 node-exporter.ceph141 ceph141 *:9100 running (5h) 12s ago 27h 16.2M - 1.7.0 72c9c2088986 c8a30176f66f node-exporter.ceph142 ceph142 *:9100 running (5h) 6m ago 5h 17.9M - 1.7.0 72c9c2088986 d21699c4fde7 prometheus.ceph141 ceph141 *:9095 running (48s) 12s ago 27h 46.2M - 2.51.0 1d3b7f56885b 572df0ed27a7

4.移除节点

[root@ceph141 ~]# ceph orch host rm ceph143 Removed host 'ceph143' [root@ceph141 ~]# [root@ceph141 ~]# ceph orch host ls HOST ADDR LABELS STATUS ceph141 10.0.0.141 _admin ceph142 10.0.0.142 2 hosts in cluster [root@ceph141 ~]#

5.删除数据,日志等一些列ceph相关的 数据【或者直接重新安装操作系统即可,避免数据泄露。推荐操作!】

[root@ceph143 ~]# ll /var/lib/ceph/ total 12 drwxr-xr-x 3 root root 4096 Mar 31 17:02 ./ drwxr-xr-x 62 root root 4096 Mar 31 17:02 ../ drwx------ 4 167 167 4096 Mar 31 17:08 11e66474-0e02-11f0-82d6-4dcae3d59070/ [root@ceph143 ~]# [root@ceph143 ~]# [root@ceph143 ~]# ll /var/log/ceph/ total 112 drwxr-xr-x 3 root root 4096 Mar 31 17:05 ./ drwxrwxr-x 10 root syslog 4096 Mar 31 17:02 ../ drwxrwx--- 2 167 167 4096 Mar 31 17:06 11e66474-0e02-11f0-82d6-4dcae3d59070/ -rw-r--r-- 1 root root 96321 Mar 31 17:09 cephadm.log [root@ceph143 ~]#

因为我们只是演示下如何删除主机!!!,所以删除测试后,再把主机加回来

[root@ceph141 ~]# ceph orch host add ceph143 10.0.0.143 Added host 'ceph143' with addr '10.0.0.143' [root@ceph141 ~]# [root@ceph141 ~]# ceph orch host ls HOST ADDR LABELS STATUS ceph141 10.0.0.141 _admin ceph142 10.0.0.142 ceph143 10.0.0.143 3 hosts in cluster [root@ceph141 ~]#

6.添加OSD设备到ceph集群

温馨提示: 如果一个设备想要加入ceph集群,要求满足3个条件:

  • 1.设备未被使用;

  • 2.设备的存储大小必须大于5GB;

  • 3.需要等待一段时间,快则30s,慢则3分钟,线下教学有人笔记本性能不高甚至有等了25min或者40min才等出现设备结果; 如果想要快速显示,则可以在相应节点手动导入"quay.io/ceph/ceph"镜像即可。

1 查看集群可用的设备【每个设备想要加入到集群,则其大小不得小于5GB】

[root@ceph141 ~]# ceph orch device ls HOST PATH TYPE DEVICE ID SIZE AVAILABLE REFRESHED REJECT REASONS ceph141 /dev/sdb hdd 300G Yes 28m ago ceph141 /dev/sdc hdd 500G Yes 28m ago ceph141 /dev/sdd hdd 1024G Yes 28m ago ceph141 /dev/sr0 hdd VMware_Virtual_SATA_CDRW_Drive_01000000000000000001 1023M No 28m ago Failed to determine if device is BlueStore, Insufficient space (<5GB) ceph142 /dev/sdb hdd 300G Yes 3m ago ceph142 /dev/sdc hdd 500G Yes 3m ago ceph142 /dev/sdd hdd 1024G Yes 3m ago ceph142 /dev/sr0 hdd VMware_Virtual_SATA_CDRW_Drive_01000000000000000001 1023M No 3m ago Failed to determine if device is BlueStore, Insufficient space (<5GB) ceph143 /dev/sdb hdd 300G Yes 20m ago ceph143 /dev/sdc hdd 500G Yes 20m ago ceph143 /dev/sdd hdd 1024G Yes 20m ago ceph143 /dev/sr0 hdd VMware_Virtual_SATA_CDRW_Drive_01000000000000000001 1023M No 20m ago Failed to determine if device is BlueStore, Insufficient space (<5GB) [root@ceph141 ~]#

2.添加osd设备到集群

[root@ceph141 ~]# ceph orch daemon add osd ceph141:/dev/sdb Created osd(s) 0 on host 'ceph141' [root@ceph141 ~]# [root@ceph141 ~]# ceph orch daemon add osd ceph141:/dev/sdc Created osd(s) 1 on host 'ceph141' [root@ceph141 ~]# [root@ceph141 ~]# ceph orch daemon add osd ceph141:/dev/sdd Created osd(s) 2 on host 'ceph141' [root@ceph141 ~]# [root@ceph141 ~]# [root@ceph141 ~]# ceph orch daemon add osd ceph142:/dev/sdb Created osd(s) 3 on host 'ceph142' [root@ceph141 ~]# [root@ceph141 ~]# ceph orch daemon add osd ceph142:/dev/sdc Created osd(s) 4 on host 'ceph142' [root@ceph141 ~]# [root@ceph141 ~]# ceph orch daemon add osd ceph142:/dev/sdd Created osd(s) 5 on host 'ceph142' [root@ceph141 ~]# [root@ceph141 ~]# ceph orch daemon add osd ceph143:/dev/sdb Created osd(s) 6 on host 'ceph143' [root@ceph141 ~]# [root@ceph141 ~]# ceph orch daemon add osd ceph143:/dev/sdc Created osd(s) 7 on host 'ceph143' [root@ceph141 ~]# [root@ceph141 ~]# ceph orch daemon add osd ceph143:/dev/sdd Created osd(s) 8 on host 'ceph143' [root@ceph141 ~]#

3.添加后验证

查看osd

​

查看磁盘总量

​

查看集群健康度

​

到这里,“使用cephadm部署ceph集群”就全部完成了,后续会更新ceph的进阶使用!!!

本文来自csdn,作者:Yuhua 吴玉桦。
当你的能力还驾驭不了你的生活的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 20:34:01

【2025】RobotStudio 2024安装教程保姆级一键安装教程(附安装包)

文章目录RobotStudio下载RobotStudio 2024详细安装步骤安装前准备与解压启动RobotStudio安装程序安装向导操作自定义安装位置首次运行与许可设置RobotStudio常见问题与解决方案本教程为您带来RobotStudio 2024的保姆级一键安装指南。RobotStudio是瑞士ABB公司推出的机器人编程软…

作者头像 李华
网站建设 2026/10/22 20:29:24

PJ85718DM+TM4C129X温控系统:高精度传感与工业以太网边缘闭环设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/22 20:24:16

红黑树详解:性质、旋转、插入删除与工程实践

红黑树&#xff0c;咕咕咕&#xff01;—— 聊聊这颗让无数人“学废了”的平衡树我猜你点进这篇文章&#xff0c;多半是因为看到了“咕咕咕”这三个字。这词儿在咱们程序员圈子里太亲切了——说好的周末看红黑树&#xff0c;结果刷了一下午短视频&#xff1b;说好的下周一投简历…

作者头像 李华
网站建设 2026/10/22 20:18:44

模具术语中英对照:从静态PDF到团队可维护词库

简介&#xff1a;面向模具设计、制造与外贸从业者的专业术语对照手册&#xff0c;系统整理冲压模具领域高频常用语的中英文表达。内容按模具种类、工序、零件、公差、冲床相关等模块分类&#xff0c;涵盖连续模、冲孔模、机械手模等模具名称&#xff0c;冲孔、剪边、成形、折弯…

作者头像 李华
网站建设 2026/10/22 20:18:40

ADAMS两轮机器人运动仿真:从虚拟样机到调参实战

简介&#xff1a;一份基于ADAMS与MATLAB的两轮机器人运动研究文档&#xff0c;面向机器人、机械电子及自动化方向的在校生和入门研究者&#xff0c;系统展示了从模型简化、控制设计到动力学仿真的完整流程。文档先借助MATLAB对机器人模型进行参数与受力分析&#xff0c;并基于倒…

作者头像 李华
网站建设 2026/10/22 20:18:39

Ambari+HDP集群密码轮换实战:ambari、hive、root、azkaban账号安全加固指南

1. 集群密码轮换的整体思路与风险预判大数据集群跑久了&#xff0c;密码轮换这件事基本躲不掉。不管是安全审计要求、人员变动&#xff0c;还是单纯觉得默认密码太弱想加固&#xff0c;只要动了密码&#xff0c;就不是改一个地方那么简单。我这次处理的是一个典型的ambari HDP…

作者头像 李华