openEuler 22.03 LTS x86_64 cephadm 部署ceph 16.2.14 未完成 笔记
环境

准备三台虚拟机
10.47.76.94 node-1
10.47.76.95 node-2
10.47.76.96 node-3
下载cephadm
[root@node-1 ~]# yum install cephadm
Last metadata expiration check: 0:11:31 ago on Tue 21 Nov 2023 10:00:20 AM CST.
Dependencies resolved.
================================================================================================================================================================================
Package Architecture Version Repository Size
================================================================================================================================================================================
Installing:
cephadm noarch 2:16.2.7-18.oe2203 update 79 k
Installing dependencies:
conmon x86_64 2:2.0.2-4.oe2203 everything 36 k
container-selinux noarch 2:2.138-4.oe2203 OS 37 k
containernetworking-plugins x86_64 1.0.1-2.oe2203 OS 18 M
containers-common x86_64 1:1.5.2-3.oe2203 update 9.5 k
docker-runc x86_64 1.0.0.rc3-310.oe2203 update 2.0 M
ostree x86_64 2021.6-1.oe2203 OS 460 k
Installing weak dependencies:
podman x86_64 1:0.10.1-12.oe2203 everything 6.7 M
Transaction Summary
================================================================================================================================================================================
Install 8 Packages
Total download size: 27 M
Installed size: 94 M
Is this ok [y/N]: y
Downloading Packages:
(1/8): container-selinux-2.138-4.oe2203.noarch.rpm 114 kB/s | 37 kB 00:00
(2/8): conmon-2.0.2-4.oe2203.x86_64.rpm 252 kB/s | 36 kB 00:00
(3/8): ostree-2021.6-1.oe2203.x86_64.rpm 633 kB/s | 460 kB 00:00
(4/8): cephadm-16.2.7-18.oe2203.noarch.rpm 440 kB/s | 79 kB 00:00
(5/8): containers-common-1.5.2-3.oe2203.x86_64.rpm 128 kB/s | 9.5 kB 00:00
(6/8): docker-runc-1.0.0.rc3-310.oe2203.x86_64.rpm 1.7 MB/s | 2.0 MB 00:01
(7/8): podman-0.10.1-12.oe2203.x86_64.rpm 2.2 MB/s | 6.7 MB 00:03
(8/8): containernetworking-plugins-1.0.1-2.oe2203.x86_64.rpm 1.5 MB/s | 18 MB 00:11 =--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 2.3 MB/s | 27 MB 00:11
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : docker-runc-1.0.0.rc3-310.oe2203.x86_64 1/8
Installing : containers-common-1:1.5.2-3.oe2203.x86_64 2/8
Installing : conmon-2:2.0.2-4.oe2203.x86_64 3/8
Installing : ostree-2021.6-1.oe2203.x86_64 4/8
Running scriptlet: ostree-2021.6-1.oe2203.x86_64 4/8
Installing : containernetworking-plugins-1.0.1-2.oe2203.x86_64 5/8
Installing : container-selinux-2:2.138-4.oe2203.noarch 6/8
Running scriptlet: container-selinux-2:2.138-4.oe2203.noarch 6/8
Installing : podman-1:0.10.1-12.oe2203.x86_64 7/8
Running scriptlet: cephadm-2:16.2.7-18.oe2203.noarch 8/8
Installing : cephadm-2:16.2.7-18.oe2203.noarch 8/8
Running scriptlet: cephadm-2:16.2.7-18.oe2203.noarch 8/8
Verifying : container-selinux-2:2.138-4.oe2203.noarch 1/8
Verifying : containernetworking-plugins-1.0.1-2.oe2203.x86_64 2/8
Verifying : ostree-2021.6-1.oe2203.x86_64 3/8
Verifying : conmon-2:2.0.2-4.oe2203.x86_64 4/8
Verifying : podman-1:0.10.1-12.oe2203.x86_64 5/8
Verifying : cephadm-2:16.2.7-18.oe2203.noarch 6/8
Verifying : containers-common-1:1.5.2-3.oe2203.x86_64 7/8
Verifying : docker-runc-1.0.0.rc3-310.oe2203.x86_64 8/8
Installed:
cephadm-2:16.2.7-18.oe2203.noarch conmon-2:2.0.2-4.oe2203.x86_64 container-selinux-2:2.138-4.oe2203.noarch containernetworking-plugins-1.0.1-2.oe2203.x86_64
containers-common-1:1.5.2-3.oe2203.x86_64 docker-runc-1.0.0.rc3-310.oe2203.x86_64 ostree-2021.6-1.oe2203.x86_64 podman-1:0.10.1-12.oe2203.x86_64
Complete!
故障
Failed command: /usr/bin/podman version --format {{.Client.Version}}
[root@node-1 ~]# cephadm bootstrap --mon-ip 10.47.76.94
Non-zero exit code 125 from /usr/bin/podman version --format {{.Client.Version}}
/usr/bin/podman: stdout Incorrect Usage: flag provided but not defined: -format
/usr/bin/podman: stdout
/usr/bin/podman: stdout NAME:
/usr/bin/podman: stdout podman version - Display the PODMAN Version Information
/usr/bin/podman: stdout
/usr/bin/podman: stdout USAGE:
/usr/bin/podman: stdout podman version [arguments...]
/usr/bin/podman: stderr flag provided but not defined: -format
Traceback (most recent call last):
File "/usr/sbin/cephadm", line 8571, in <module>
main()
File "/usr/sbin/cephadm", line 8557, in main
check_container_engine(ctx)
File "/usr/sbin/cephadm", line 2014, in check_container_engine
engine.get_version(ctx)
File "/usr/sbin/cephadm", line 196, in get_version
out, _, _ = call_throws(ctx, [self.path, 'version', '--format', '{{.Client.Version}}'])
File "/usr/sbin/cephadm", line 1467, in call_throws
raise RuntimeError('Failed command: %s' % ' '.join(command))
RuntimeError: Failed command: /usr/bin/podman version --format {{.Client.Version}}
原因 podman版本不匹配!
[root@node-1 ~]# /usr/bin/podman version --format {{.Client.Version}}
Incorrect Usage: flag provided but not defined: -format
NAME:
podman version - Display the PODMAN Version Information
USAGE:
podman version [arguments...]
flag provided but not defined: -format
Compatibility and Stability — Ceph Documentation


axel -n 50 https://gh-proxy.com/https://github.com/containers/podman/releases/download/v3.4.4/podman-remote-static.tar.gz -k
[root@node-1 ~]# tar -xvf podman-remote-static.tar.gz
podman-remote-static
[root@node-1 ~]# ./podman-remote-static -v
podman-remote-static version 3.4.4
[root@node-1 ~]# cp podman-remote-static /usr/bin/podman
[root@node-1 ~]# podman -v
podman version 3.4.4
[root@node-1 ~]# vim /usr/lib/systemd/system/podman.service
[Unit]
Description=Podman API Service
Requires=podman.socket
After=podman.socket
Documentation=man:podman-system-service(1)
StartLimitIntervalSec=0[Service]
Type=exec
KillMode=process
Environment=LOGGING="--log-level=info"
ExecStart=/usr/bin/podman $LOGGING system service[Install]
WantedBy=default.target
[root@node-1 ~]# vim /usr/lib/systemd/system/podman.socket
[Unit]
Description=Podman API Socket
Documentation=man:podman-system-service(1)[Socket]
ListenStream=%t/podman/podman.sock
SocketMode=0660[Install]
WantedBy=sockets.target
[root@node-1 ~]# systemctl daemon-reload
[root@node-1 ~]# systemctl start podman
[root@node-1 ~]# systemctl status podman
下载的静态程序不支持system service!!!
--
找到openEuler里面对应版本src.rpm过来编译安装
[root@node-1 ~]# wget https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/podman-3.4.4-1.oe2203sp2.src.rpm
--2023-11-21 11:47:30-- https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/podman-3.4.4-1.oe2203sp2.src.rpm
Resolving repo.openeuler.org (repo.openeuler.org)... 49.0.230.196
Connecting to repo.openeuler.org (repo.openeuler.org)|49.0.230.196|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16823599 (16M) [application/x-redhat-package-manager]
Saving to: ‘podman-3.4.4-1.oe2203sp2.src.rpm’
podman-3.4.4-1.oe2203sp2.src.rpm 100%[==================================================================================>] 16.04M 3.50MB/s in 4.8s
2023-11-21 11:47:35 (3.38 MB/s) - ‘podman-3.4.4-1.oe2203sp2.src.rpm’ saved [16823599/16823599]
[root@node-1 ~]#
[root@node-1 ~]# rpm -ivUh podman-3.4.4-1.oe2203sp2.src.rpm
warning: podman-3.4.4-1.oe2203sp2.src.rpm: Header V4 RSA/SHA256 Signature, key ID fb37bc6f: NOKEY
Updating / installing...
1:podman-1:3.4.4-1.oe2203sp2 ################################# [100%]
[root@node-1 ~]# cd rpmbuild/
[root@node-1 rpmbuild]#
[root@node-1 rpmbuild]# yum-builddep -y SPECS/podman.spec
[root@node-1 rpmbuild]# rpmbuild -ba SPECS/podman.spec

[root@node-1 rpmbuild]# yum install -y RPMS/x86_64/podman-3.4.4-1.x86_64.rpm \
> RPMS/x86_64/podman-remote-3.4.4-1.x86_64.rpm \
> RPMS/x86_64/podman-plugins-3.4.4-1.x86_64.rpm \
> RPMS/x86_64/podman-help-3.4.4-1.x86_64.rpm \
> RPMS/x86_64/podman-gvproxy-3.4.4-1.x86_64.rpm \
> RPMS/noarch/podman-docker-3.4.4-1.noarch.rpm
Last metadata expiration check: 1:42:13 ago on Tue 21 Nov 2023 10:12:28 AM CST.
Error:
Problem 1: conflicting requests
- nothing provides crun needed by podman-1:3.4.4-1.x86_64
Problem 2: package podman-docker-1:3.4.4-1.noarch requires podman = 1:3.4.4-1, but none of the providers can be installed
- conflicting requests
- nothing provides crun needed by podman-1:3.4.4-1.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[root@node-1 ~]# wget https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/crun-1.4.5-1.oe2203sp2.src.rpm
--2023-11-21 11:56:17-- https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/crun-1.4.5-1.oe2203sp2.src.rpm
Resolving repo.openeuler.org (repo.openeuler.org)... 49.0.230.196
Connecting to repo.openeuler.org (repo.openeuler.org)|49.0.230.196|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 887311 (867K) [application/x-redhat-package-manager]
Saving to: ‘crun-1.4.5-1.oe2203sp2.src.rpm’
crun-1.4.5-1.oe2203sp2.src.rpm 100%[==================================================================================>] 866.51K 1.79MB/s in 0.5s
2023-11-21 11:56:18 (1.79 MB/s) - ‘crun-1.4.5-1.oe2203sp2.src.rpm’ saved [887311/887311]
[root@node-1 ~]# rpm -ivUh crun-1.4.5-1.oe2203sp2.src.rpm
warning: crun-1.4.5-1.oe2203sp2.src.rpm: Header V4 RSA/SHA256 Signature, key ID fb37bc6f: NOKEY
Updating / installing...
1:crun-1.4.5-1.oe2203sp2 ################################# [100%]
[root@node-1 ~]# yum-builddep -y rpmbuild/SPECS/crun.spec
[root@node-1 ~]# rpmbuild -ba rpmbuild/SPECS/crun.spec
[root@node-1 ~]# cd rpmbuild/
[root@node-1 rpmbuild]# yum install -y RPMS/x86_64/podman-3.4.4-1.x86_64.rpm RPMS/x86_64/podman-remote-3.4.4-1.x86_64.rpm RPMS/x86_64/podman-plugins-3.4.4-1.x86_64.rpm RPMS/x86_64/podman-help-3.4.4-1.x86_64.rpm RPMS/x86_64/podman-gvproxy-3.4.4-1.x86_64.rpm RPMS/noarch/podman-docker-3.4.4-1.noarch.rpm RPMS/x86_64/crun-1.4.5-1.x86_64.rpm

[root@node-1 rpmbuild]# systemctl daemon-reload
[root@node-1 rpmbuild]# systemctl restart podman
[root@node-1 rpmbuild]# systemctl status podman
× podman.service - Podman API Service
Loaded: loaded (/usr/lib/systemd/system/podman.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2023-11-21 12:00:51 CST; 6s ago
TriggeredBy: ● podman.socket
Docs: man:podman-system-service(1)
Process: 40106 ExecStart=/usr/bin/podman $LOGGING system service (code=exited, status=125)
Main PID: 40106 (code=exited, status=125)
Nov 21 12:00:51 node-1 systemd[1]: Starting Podman API Service...
Nov 21 12:00:51 node-1 systemd[1]: Started Podman API Service.
Nov 21 12:00:51 node-1 podman[40106]: time="2023-11-21T12:00:51+08:00" level=info msg="/usr/bin/podman filtering at log level info"
Nov 21 12:00:51 node-1 podman[40106]: time="2023-11-21T12:00:51+08:00" level=warning msg="Conmon at /usr/bin/conmon invalid: outdated conmon version"
Nov 21 12:00:51 node-1 podman[40106]: time="2023-11-21T12:00:51+08:00" level=warning msg="Conmon at /usr/bin/conmon is invalid: outdated conmon version"
Nov 21 12:00:51 node-1 podman[40106]: Error: please update to v2.0.24 or later: outdated conmon version
Nov 21 12:00:51 node-1 systemd[1]: podman.service: Main process exited, code=exited, status=125/n/a
Nov 21 12:00:51 node-1 systemd[1]: podman.service: Failed with result 'exit-code'.
[root@node-1 ~]# wget https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/conmon-2.1.0-1.oe2203sp2.src.rpm
--2023-11-21 12:03:01-- https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/conmon-2.1.0-1.oe2203sp2.src.rpm
Resolving repo.openeuler.org (repo.openeuler.org)... 49.0.230.196
Connecting to repo.openeuler.org (repo.openeuler.org)|49.0.230.196|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 211336 (206K) [application/x-redhat-package-manager]
Saving to: ‘conmon-2.1.0-1.oe2203sp2.src.rpm’
conmon-2.1.0-1.oe2203sp2.src.rpm 100%[==================================================================================>] 206.38K 1.05MB/s in 0.2s
2023-11-21 12:03:01 (1.05 MB/s) - ‘conmon-2.1.0-1.oe2203sp2.src.rpm’ saved [211336/211336]
[root@node-1 ~]# rpm -ivUh conmon-2.1.0-1.oe2203sp2.src.rpm
warning: conmon-2.1.0-1.oe2203sp2.src.rpm: Header V4 RSA/SHA256 Signature, key ID fb37bc6f: NOKEY
Updating / installing...
1:conmon-2:2.1.0-1.oe2203sp2 ################################# [100%]
[root@node-1 ~]# yum-builddep -y rpmbuild/SPECS/conmon.spec
[root@node-1 ~]# rpmbuild -ba rpmbuild/SPECS/conmon.spec
[root@node-1 ~]# rpm -ivUh /root/rpmbuild/RPMS/x86_64/conmon-2.1.0-1.x86_64.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:conmon-2:2.1.0-1 ################################# [ 50%]
Cleaning up / removing...
2:conmon-2:2.0.2-4.oe2203 ################################# [100%]

(其实一开始选择openEuler-22.03-LTS-SP2就没这些事情了,直接装podman )
cephadm bootstrap --mon-ip
[root@node-1 ~]# cephadm bootstrap --mon-ip 10.47.76.94
Creating directory /etc/ceph for ceph.conf
Verifying podman|docker is present...
Verifying lvm2 is present...
Verifying time synchronization is in place...
Unit chronyd.service is enabled and running
Repeating the final host check...
podman (/usr/bin/podman) version 3.4.4 is present
systemctl is present
lvcreate is present
Unit chronyd.service is enabled and running
Host looks OK
Cluster fsid: 5c90c23c-8823-11ee-a5be-08002726ce7d
Verifying IP 10.47.76.94 port 3300 ...
Verifying IP 10.47.76.94 port 6789 ...
Mon IP `10.47.76.94` is in CIDR network `10.47.76.0/24`
- internal network (--cluster-network) has not been provided, OSD replication will default to the public_network
Pulling container image quay.io/ceph/ceph:v16...
Non-zero exit code 125 from /usr/bin/podman pull quay.io/ceph/ceph:v16
/usr/bin/podman: stderr Trying to pull quay.io/ceph/ceph:v16...
/usr/bin/podman: stderr time="2023-11-21T12:06:42+08:00" level=warning msg="failed, retrying in 1s ... (1/3). Error: parsing image configuration: Get \"https://cdn02.quay.io/sha256/ae/ae96fc565b065a0c531b222ae151caca195a9a68ee516d9c9b6f4811e8fe85c5?username=None&namespace=ceph&Expires=1700643054&Signature=TcolHavApvIZG8vFeY8363vvm56ON9aH~J-O3LVRx4pZyV3NnvMuOyqNmVQWr~sE6p1iBPLc1qv4TNp-NINRvW-uIEtaFefxni5m7JXNTNuMAUOyP7vj71Pg0KS6zaVHm4IqE7bV2wts-0w53moDa9bwzEP3OchKDM72OGxzaHJpz0ZUd2Zklr7ar5MggaGCmc~at34CJvbJz8BPWWcanNdZC0valSLkQuR~bg4p6TuCdo0EKASUgjishYlv~387UTqtva5-xGWXaWi5q2oI~y5xCKCNlD2wDAW1sXfWJA5WGvkiUN7SrN3LDuf3zUvgV9VW4k4msKHFiZIumGtQ1w__&Key-Pair-Id=APKAJ67PQLWGCSP66DGA\": EOF"
/usr/bin/podman: stderr Error: parsing image configuration: Get "https://cdn02.quay.io/sha256/ae/ae96fc565b065a0c531b222ae151caca195a9a68ee516d9c9b6f4811e8fe85c5?username=None&namespace=ceph&Expires=1700643061&Signature=Fs7HMwSWy-csPD6-4zXN5MPak-m5UbW~9WOia9AJS8taPGZT6tMc71t79P7BE8id62C21MODFET1oR6uCKe9cHb1cWqxl8lrn5kMnojecjVl0rMWG2e4zeb0x4TfdgYiii7hG1Or2jcJaIeTPn7BTq3zCqLfLLddHW1HqHOR9LospJIkcSyJ-JbRNG8q0RbkFiVtSmujBJ4MfrKKFITwtW~9FTT2PBKzq0JJ8ntNhje2KKWtTd8tPIArvLthELjV6nqi~hGCXYP6yArrn4lNmnwDfHnsQs68afzLH9y402ty1Tn2UHLk5PO8gWgygT6o7F-hDCtFit7CoXDuurllMg__&Key-Pair-Id=APKAJ67PQLWGCSP66DGA": http: server gave HTTP response to HTTPS client
ERROR: Failed command: /usr/bin/podman pull quay.io/ceph/ceph:v16
坑爹的网络
离线安装
[root@node-1 ~]# podman load -i ceph-v16.tar
Getting image source signatures
Copying blob 602fe9f6cc5a done
Copying blob c9b8d8af634e done
Copying config ae96fc565b done
Writing manifest to image destination
Storing signatures
Loaded image(s): quay.io/ceph/ceph:v16
[root@node-1 ~]# cephadm bootstrap --mon-ip 10.47.76.94 --skip-pull
Verifying podman|docker is present...
Verifying lvm2 is present...
Verifying time synchronization is in place...
Unit chronyd.service is enabled and running
Repeating the final host check...
podman (/usr/bin/podman) version 3.4.4 is present
systemctl is present
lvcreate is present
Unit chronyd.service is enabled and running
Host looks OK
Cluster fsid: 18788cd6-8825-11ee-9f59-08002726ce7d
Verifying IP 10.47.76.94 port 3300 ...
Verifying IP 10.47.76.94 port 6789 ...
Mon IP `10.47.76.94` is in CIDR network `10.47.76.0/24`
- internal network (--cluster-network) has not been provided, OSD replication will default to the public_network
Non-zero exit code 125 from /usr/bin/podman run --rm --ipc=host --stop-signal=SIGTERM --net=host --entrypoint ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v16 -e NODE_NAME=node-1 -e CEPH_USE_RANDOM_NONCE=1 quay.io/ceph/ceph:v16 --version
ceph: stderr Error: container-init binary not found on the host: stat /usr/libexec/podman/catatonit: no such file or directory
Traceback (most recent call last):
File "/usr/sbin/cephadm", line 8571, in <module>
main()
File "/usr/sbin/cephadm", line 8559, in main
r = ctx.func(ctx)
File "/usr/sbin/cephadm", line 1787, in _default_image
return func(ctx)
File "/usr/sbin/cephadm", line 4257, in command_bootstrap
image_ver = CephContainer(ctx, ctx.image, 'ceph', ['--version']).run().strip()
File "/usr/sbin/cephadm", line 3420, in run
out, _, _ = call_throws(self.ctx, self.run_cmd(),
File "/usr/sbin/cephadm", line 1467, in call_throws
raise RuntimeError('Failed command: %s' % ' '.join(command))
RuntimeError: Failed command: /usr/bin/podman run --rm --ipc=host --stop-signal=SIGTERM --net=host --entrypoint ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v16 -e NODE_NAME=node-1 -e CEPH_USE_RANDOM_NONCE=1 quay.io/ceph/ceph:v16 --version
相关文章:
openEuler 22.03 LTS x86_64 cephadm 部署ceph 16.2.14 未完成 笔记
环境 准备三台虚拟机 10.47.76.94 node-1 10.47.76.95 node-2 10.47.76.96 node-3 下载cephadm [rootnode-1 ~]# yum install cephadm Last metadata expiration check: 0:11:31 ago on Tue 21 Nov 2023 10:00:20 AM CST. Dependencies resolved. Package …...
Java计算时间差,距结束还有几天几小时几分钟
文章目录 1、写法2、备份3、LocalDate、LocalDateTime、Date、String互转 1、写法 //静态方法,传入年月日时分秒 LocalDateTime startTime LocalDateTime.of(2023, 11, 22, 15, 09, 59); LocalDateTime endTime LocalDateTime.of(2023, 11, 30, 0, 0, 0); //计算…...
【云原生 Prometheus篇】Prometheus的动态服务发现机制与认证配置
目录 一、Prometheus服务发现的方式1.1 基于文件的服务发现1.2 基于consul的服务发现1.3 基于 Kubernetes API 的服务发现1.3.1 简介1.3.2 基于Kurbernetes发现机制的部分配置参数 二、实例一:部署基于文件的服务发现2.1 创建用于服务发现的文件2.2 修改Prometheus的…...
ref详解(C#)
本质上来说 ref 的就是把 C/C 指针的那一套又拿回来了,而且还封装成一套自己的玩法。 我想设计者的初心把 ref 的功能限制得死死的,可能也考虑到 C# 是一门面向业务开发的语言,讲究的是做项目快狠准,性能反而不是第一要素&#x…...
运维高级-day01
shell回顾 1、快速生成版权控制信息,具体的内容自己替换 [root scripts]# cat ~/.vimrc autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()" func SetTitle() if expand("%:e") sh call setline(1,"#!/bin/bash")…...
含分布式电源的配电网可靠性评估matlab程序
微❤关注“电气仔推送”获得资料(专享优惠) 参考文献: 基于仿射最小路法的含分布式电源配电网可靠性分析——熊小萍 主要内容: 通过概率模型和时序模型分别进行建模,实现基于概率模型最小路法的含分布式电源配电网…...
k8s docker总结特殊点
k8s docker总结特殊点 前言一、docker 的驱动。1、cgroup:(Control Groups)2、日志驱动(log driver)3、存储驱动4、网络驱动: 二、k8s中网络插件(常用calico,次flannel)**Flannel:**…...
区块链技术与应用 【全国职业院校技能大赛国赛题目解析】第四套区块链应用后端开发
第四套区块链应用后端开发 环境 : ubuntu20 fisco : 2.8.0 springboot 2.1.1 fisco-java-sdk: 2.7.2 maven 3.8.8 前言 这套后端样题,只涉及调用fisco的系统接口,不涉及此食品溯源项目的业务接口,所以我就直接生成一个springboot项目进行完成此题目。 请提前准备好一…...
《向量数据库指南》——向量数据库Milvus Cloud搭建Excel公式编辑器助手
引言 在日常工作中,Excel是我们经常使用的办公工具,而熟练应用Excel公式对于提高工作效率非常重要。然而,有时候我们会遇到一些复杂的需求,需要用到较为专业的Excel公式,而这正是Excel公式编辑器助手的用武之地。本文将介绍如何利用向量数据库Milvus Cloud搭建GPT大模型和…...
qgis添加arcgis的FeatureServer
左侧浏览器-ArcGIS要素服务器-新建连接 http://sampleserver6.arcgisonline.com/arcgis/rest/services/ 展开-双击即可...
java进阶---多态
多态的概述 什么是多态 同一个对象,在不同时刻表现出来的不同形态 多态的前提 要有继承或实现关系要有方法的重写要有父类引用指向子类对象 多态的具体实现 对象的多态是多态的核心和重点 规则: 一个对象的编译类型与运行类型可以不一致编译类型在定义对象时,就确定了,…...
常用脚本-持续更新(文件重命名、视频抽帧、拆帧、删除冗余文件、yolo2xml、转换图片格式、修改xml)
所有代码位置:Learning-Notebook-Codes/Python/常用脚本 1. 文件重命名 脚本路径:codes/files_rename.py脚本说明:可以自动重命名某个文件夹下指定类型的文件。 修改前文件名称: img1.jpg修改后文件名称: Le0v1n-20231123-X-0001.jpg imp…...
百度文心一言(千帆大模型)聊天API使用指导
开篇不得不吐槽下百度,百度智能云平台首页跳转千帆大模型平台的按钮太多了,不同按钮跳转不同的子页面,不熟悉的,能把人找懵。入口太多,就导致用户不知道从何开始。本文就从一个前端开发人员的角度,教大家快…...
C++知识点总结(7):玩转高精度除法
一、复习高低精度 一个数分为两种类型: 1. 高精度数,即一个长度特别长的数,使用 long long 也无法存储的一类数字。 2. 低精度数,即一个普通的数,可以使用 long long 来存储。 由于高精度除法比较简单,…...
LeetCode算法题解(动态规划,背包问题)|LeetCode1049. 最后一块石头的重量 II、LeetCode494. 目标和
一、LeetCode1049. 最后一块石头的重量 II 题目链接:1049. 最后一块石头的重量 II 题目描述: 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将…...
使用Pytorch从零开始构建LSTM
长短期记忆(LSTM)网络已被广泛用于解决各种顺序任务。让我们了解这些网络如何工作以及如何实施它们。 就像我们一样,循环神经网络(RNN)也可能很健忘。这种与短期记忆的斗争导致 RNN 在大多数任务中失去有效性。不过&a…...
qRT-PCR相对定量计算详解qPCR相对定量计算方式——2^-(∆∆Ct) deta t
做完转录组分析之后,一般都要求做qRT-PCR来验证二代测序得到的转录本表达是否可靠。荧光定量PCR是一种相对表达定量的方法,他的计算方法有很多,常用的相对定量数据分析方法有双标曲线法,ΔCt法,2^-ΔΔCt法(Livak法)&a…...
BART non-Cartesian 重建:并行成像 压缩感知
本文主要使用并行成像和压缩感知方法实现non-Cartesian MRI 数据的重建。 目录 1 自定义MRI kspace trajectory 2 自定义该 trajectory下的多通道MRI数据 3 使用NUFFT 直接做欠采样数据的重建...
UDP客户端使用connect与UDP服务器使用send函数和recv函数收发数据
服务器代码编译运行 服务器udpconnectToServer.c的代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<arpa/inet.h> #include<sys/socket.h> #include<errno.h> #inclu…...
SLAM ORB-SLAM2(9)闭环检测器
SLAM ORB-SLAM2(9)闭环检测器 1. LoopClosing2. 成员变量2.1. 系统成员变量2.2. 关键帧2.3. 共视关系2.4. 闭环检测2.5. 全局 BA(光束法平差)2.6. 其他操作3. 成员函数3.1. 构造函数3.2. 主要函数3.3. 更新操作3.4. 标识设置和查询接口1. LoopClosing 在《SLAM ORB-SLAM2(…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
