bclinux aarch64 ceph 14.2.10 对象存储 http网关 CEPH OBJECT GATEWAY Civetweb
相关内容
bclinux aarch64 ceph 14.2.10 文件存储 Ceph File System, 需要部署mds: ceph-deploy mds-CSDN博客
ceph-deploy bclinux aarch64 ceph 14.2.10【3】vdbench fsd 文件系统测试-CSDN博客
ceph-deploy bclinux aarch64 ceph 14.2.10【2】vdbench rbd 块设备rbd 测试失败-CSDN博客
ceph-deploy bclinux aarch64 ceph 14.2.10-CSDN博客
部署对象存储网关
cd /etc/ceph
ceph-deploy rgw create ceph-0 ceph-1 ceph-2 ceph-3
成功日志
[root@ceph-0 ceph]# ceph-deploy rgw create ceph-0 ceph-1 ceph-2 ceph-3
[ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.conf
[ceph_deploy.cli][INFO ] Invoked (2.0.1): /usr/bin/ceph-deploy rgw create ceph-0 ceph-1 ceph-2 ceph-3
[ceph_deploy.cli][INFO ] ceph-deploy options:
[ceph_deploy.cli][INFO ] username : None
[ceph_deploy.cli][INFO ] verbose : False
[ceph_deploy.cli][INFO ] rgw : [('ceph-0', 'rgw.ceph-0'), ('ceph-1', 'rgw.ceph-1'), ('ceph-2', 'rgw.ceph-2'), ('ceph-3', 'rgw.ceph-3')]
[ceph_deploy.cli][INFO ] overwrite_conf : False
[ceph_deploy.cli][INFO ] subcommand : create
[ceph_deploy.cli][INFO ] quiet : False
[ceph_deploy.cli][INFO ] cd_conf : <ceph_deploy.conf.cephdeploy.Conf instance at 0xffffa1b8faa0>
[ceph_deploy.cli][INFO ] cluster : ceph
[ceph_deploy.cli][INFO ] func : <function rgw at 0xffffa1d554d0>
[ceph_deploy.cli][INFO ] ceph_conf : None
[ceph_deploy.cli][INFO ] default_release : False
[ceph_deploy.rgw][DEBUG ] Deploying rgw, cluster ceph hosts ceph-0:rgw.ceph-0 ceph-1:rgw.ceph-1 ceph-2:rgw.ceph-2 ceph-3:rgw.ceph-3
[ceph-0][DEBUG ] connected to host: ceph-0
[ceph-0][DEBUG ] detect platform information from remote host
21.10U3 LTS
bclinux
[ceph-0][DEBUG ] detect machine type
[ceph_deploy.rgw][INFO ] Distro info: bclinux 21.10U3 21.10U3 LTS
[ceph_deploy.rgw][DEBUG ] remote host will use systemd
[ceph_deploy.rgw][DEBUG ] deploying rgw bootstrap to ceph-0
[ceph-0][DEBUG ] write cluster configuration to /etc/ceph/{cluster}.conf
[ceph-0][WARNIN] rgw keyring does not exist yet, creating one
[ceph-0][DEBUG ] create a keyring file
[ceph-0][DEBUG ] create path recursively if it doesn't exist
[ceph-0][INFO ] Running command: ceph --cluster ceph --name client.bootstrap-rgw --keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring auth get-or-create client.rgw.ceph-0 osd allow rwx mon allow rw -o /var/lib/ceph/radosgw/ceph-rgw.ceph-0/keyring
[ceph-0][INFO ] Running command: systemctl enable ceph-radosgw@rgw.ceph-0
[ceph-0][WARNIN] Created symlink /etc/systemd/system/ceph-radosgw.target.wants/ceph-radosgw@rgw.ceph-0.service → /usr/lib/systemd/system/ceph-radosgw@.service.
[ceph-0][INFO ] Running command: systemctl start ceph-radosgw@rgw.ceph-0
[ceph-0][INFO ] Running command: systemctl enable ceph.target
[ceph_deploy.rgw][INFO ] The Ceph Object Gateway (RGW) is now running on host ceph-0 and default port 7480
dhclient(1787) is already running - exiting. This version of ISC DHCP is based on the release available
on ftp.isc.org. Features have been added and other changes
have been made to the base software release in order to make
it work better with this distribution.Please report issues with this software via:
https://gitee.com/src-openeuler/dhcp/issuesexiting.
dhclient(1787) is already running - exiting. This version of ISC DHCP is based on the release available
on ftp.isc.org. Features have been added and other changes
have been made to the base software release in order to make
it work better with this distribution.Please report issues with this software via:
https://gitee.com/src-openeuler/dhcp/issuesexiting.
[ceph-1][DEBUG ] connected to host: ceph-1
[ceph-1][DEBUG ] detect platform information from remote host
21.10U3 LTS
bclinux
[ceph-1][DEBUG ] detect machine type
[ceph_deploy.rgw][INFO ] Distro info: bclinux 21.10U3 21.10U3 LTS
[ceph_deploy.rgw][DEBUG ] remote host will use systemd
[ceph_deploy.rgw][DEBUG ] deploying rgw bootstrap to ceph-1
[ceph-1][DEBUG ] write cluster configuration to /etc/ceph/{cluster}.conf
[ceph-1][WARNIN] rgw keyring does not exist yet, creating one
[ceph-1][DEBUG ] create a keyring file
[ceph-1][DEBUG ] create path recursively if it doesn't exist
[ceph-1][INFO ] Running command: ceph --cluster ceph --name client.bootstrap-rgw --keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring auth get-or-create client.rgw.ceph-1 osd allow rwx mon allow rw -o /var/lib/ceph/radosgw/ceph-rgw.ceph-1/keyring
[ceph-1][INFO ] Running command: systemctl enable ceph-radosgw@rgw.ceph-1
[ceph-1][WARNIN] Created symlink /etc/systemd/system/ceph-radosgw.target.wants/ceph-radosgw@rgw.ceph-1.service → /usr/lib/systemd/system/ceph-radosgw@.service.
[ceph-1][INFO ] Running command: systemctl start ceph-radosgw@rgw.ceph-1
[ceph-1][INFO ] Running command: systemctl enable ceph.target
[ceph_deploy.rgw][INFO ] The Ceph Object Gateway (RGW) is now running on host ceph-1 and default port 7480
dhclient(1742) is already running - exiting. This version of ISC DHCP is based on the release available
on ftp.isc.org. Features have been added and other changes
have been made to the base software release in order to make
it work better with this distribution.Please report issues with this software via:
https://gitee.com/src-openeuler/dhcp/issuesexiting.
dhclient(1742) is already running - exiting. This version of ISC DHCP is based on the release available
on ftp.isc.org. Features have been added and other changes
have been made to the base software release in order to make
it work better with this distribution.Please report issues with this software via:
https://gitee.com/src-openeuler/dhcp/issuesexiting.
[ceph-2][DEBUG ] connected to host: ceph-2
[ceph-2][DEBUG ] detect platform information from remote host
21.10U3 LTS
bclinux
[ceph-2][DEBUG ] detect machine type
[ceph_deploy.rgw][INFO ] Distro info: bclinux 21.10U3 21.10U3 LTS
[ceph_deploy.rgw][DEBUG ] remote host will use systemd
[ceph_deploy.rgw][DEBUG ] deploying rgw bootstrap to ceph-2
[ceph-2][DEBUG ] write cluster configuration to /etc/ceph/{cluster}.conf
[ceph-2][WARNIN] rgw keyring does not exist yet, creating one
[ceph-2][DEBUG ] create a keyring file
[ceph-2][DEBUG ] create path recursively if it doesn't exist
[ceph-2][INFO ] Running command: ceph --cluster ceph --name client.bootstrap-rgw --keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring auth get-or-create client.rgw.ceph-2 osd allow rwx mon allow rw -o /var/lib/ceph/radosgw/ceph-rgw.ceph-2/keyring
[ceph-2][INFO ] Running command: systemctl enable ceph-radosgw@rgw.ceph-2
[ceph-2][WARNIN] Created symlink /etc/systemd/system/ceph-radosgw.target.wants/ceph-radosgw@rgw.ceph-2.service → /usr/lib/systemd/system/ceph-radosgw@.service.
[ceph-2][INFO ] Running command: systemctl start ceph-radosgw@rgw.ceph-2
[ceph-2][INFO ] Running command: systemctl enable ceph.target
[ceph_deploy.rgw][INFO ] The Ceph Object Gateway (RGW) is now running on host ceph-2 and default port 7480
dhclient(1722) is already running - exiting. This version of ISC DHCP is based on the release available
on ftp.isc.org. Features have been added and other changes
have been made to the base software release in order to make
it work better with this distribution.Please report issues with this software via:
https://gitee.com/src-openeuler/dhcp/issuesexiting.
dhclient(1722) is already running - exiting. This version of ISC DHCP is based on the release available
on ftp.isc.org. Features have been added and other changes
have been made to the base software release in order to make
it work better with this distribution.Please report issues with this software via:
https://gitee.com/src-openeuler/dhcp/issuesexiting.
[ceph-3][DEBUG ] connected to host: ceph-3
[ceph-3][DEBUG ] detect platform information from remote host
21.10U3 LTS
bclinux
[ceph-3][DEBUG ] detect machine type
[ceph_deploy.rgw][INFO ] Distro info: bclinux 21.10U3 21.10U3 LTS
[ceph_deploy.rgw][DEBUG ] remote host will use systemd
[ceph_deploy.rgw][DEBUG ] deploying rgw bootstrap to ceph-3
[ceph-3][DEBUG ] write cluster configuration to /etc/ceph/{cluster}.conf
[ceph-3][WARNIN] rgw keyring does not exist yet, creating one
[ceph-3][DEBUG ] create a keyring file
[ceph-3][DEBUG ] create path recursively if it doesn't exist
[ceph-3][INFO ] Running command: ceph --cluster ceph --name client.bootstrap-rgw --keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring auth get-or-create client.rgw.ceph-3 osd allow rwx mon allow rw -o /var/lib/ceph/radosgw/ceph-rgw.ceph-3/keyring
[ceph-3][INFO ] Running command: systemctl enable ceph-radosgw@rgw.ceph-3
[ceph-3][WARNIN] Created symlink /etc/systemd/system/ceph-radosgw.target.wants/ceph-radosgw@rgw.ceph-3.service → /usr/lib/systemd/system/ceph-radosgw@.service.
[ceph-3][INFO ] Running command: systemctl start ceph-radosgw@rgw.ceph-3
[ceph-3][INFO ] Running command: systemctl enable ceph.target
[ceph_deploy.rgw][INFO ] The Ceph Object Gateway (RGW) is now running on host ceph-3 and default port 7480
[root@ceph-0 ceph]# cp: cannot stat '/tmp/security_updates': No such file or directory
cp: cannot stat '/tmp/security_updates': No such file or directory
cp: cannot stat '/tmp/security_updates': No such file or directory
创建成功

验证服务状态(失败)

日志目录
/var/log/ceph
日志文件
ceph-client.rgw.ceph-0.log
清空日志文件,重启服务
cd /var/log/ceph
echo "" > ceph-client.rgw.ceph-0.log
systemctl start ceph-radosgw@rgw-ceph-0
先看服务日志
journalctl -xeu ceph-radosgw@rgw-ceph-0
日志
Nov 14 13:38:08 ceph-0 radosgw[58375]: 2023-11-14 13:38:08.450 ffff7ab37010 -1 auth: unable to find a keyring on /var/lib/ceph/radosgw/ceph-rgw-ceph-0/keyring: (2) No such file or directory
Nov 14 13:38:08 ceph-0 radosgw[58375]: 2023-11-14 13:38:08.450 ffff7ab37010 -1 AuthRegistry(0xffff7a330148) no keyring found at /var/lib/ceph/radosgw/ceph-rgw-ceph-0/keyring, disabling cephx
Nov 14 13:38:08 ceph-0 radosgw[58375]: 2023-11-14 13:38:08.450 ffff7ab37010 -1 auth: unable to find a keyring on /var/lib/ceph/radosgw/ceph-rgw-ceph-0/keyring: (2) No such file or directory
Nov 14 13:38:08 ceph-0 radosgw[58375]: 2023-11-14 13:38:08.450 ffff7ab37010 -1 AuthRegistry(0xffffdc7f98c8) no keyring found at /var/lib/ceph/radosgw/ceph-rgw-ceph-0/keyring, disabling cephx
Nov 14 13:38:08 ceph-0 radosgw[58375]: failed to fetch mon config (--no-mon-config to skip)
Nov 14 13:38:08 ceph-0 systemd[1]: ceph-radosgw@rgw-ceph-0.service: Main process exited, code=exited, status=1/FAILURE
没有按照官方文档执行网关安装有关?ceph-deploy install --rgw node..
但是这个版本的ceph-deploy指定的ceph版本太低,且是el6
解决 /var/lib/ceph/radosgw/ceph-rgw-ceph-0/keyring: (2) No such file or directory
查看/etc/ceph目录下的keyring文件,发现已生成了ceph.bootstrap-rgw.keyring


错误的路径/var/lib/ceph/radosgw/ceph-rgw-ceph-0/keyring
正确的路径/var/lib/ceph/radosgw/ceph-rgw.ceph-0/keyring
不知道为什么路径有一个符号错误
做个软连接
cd /var/lib/ceph/radosgw
ln -s ceph-rgw.ceph-0 ceph-rgw-ceph-0

错误:
Nov 14 14:11:43 ceph-0 radosgw[59264]: 2023-11-14 14:11:43.076 ffff99055730 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2]
Nov 14 14:11:43 ceph-0 radosgw[59264]: 2023-11-14 14:11:43.080 ffff99856730 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2]
Nov 14 14:11:43 ceph-0 radosgw[59264]: failed to fetch mon config (--no-mon-config to skip)
Nov 14 14:11:43 ceph-0 systemd[1]: ceph-radosgw@rgw-ceph-0.service: Main process exited, code=exited, status=1/FAILURE
重新执行部署
cd /etc/ceph
ceph-deploy rgw create ceph-0 ceph-1 ceph-2 ceph-3

重新部署后,会生成/var/log/ceph/ceph-client.rgw.ceph-0.log日志文件
其中有日志
Numerical result out of range
2023-11-14 14:32:24.461 ffff8abe8010 0 deferred set uid:gid to 1000:1000 (ceph:ceph)
2023-11-14 14:32:24.461 ffff8abe8010 0 ceph version 14.2.10 (b340acf629a010a74d90da5782a2c5fe0b54ac20) nautilus (stable), process radosgw, pid 60035
2023-11-14 14:32:25.509 ffff8abe8010 0 rgw_init_ioctx ERROR: librados::Rados::pool_create returned (34) Numerical result out of range (this can be due to a pool or placement group misconfiguration, e.g. pg_num < pgp_num or mon_max_pg_per_osd exceeded)
2023-11-14 14:32:25.509 ffff8abe8010 0 failed reading realm info: ret -34 (34) Numerical result out of range
2023-11-14 14:32:25.509 ffff8abe8010 0 ERROR: failed to start notify service ((34) Numerical result out of range
2023-11-14 14:32:25.509 ffff8abe8010 0 ERROR: failed to init services (ret=(34) Numerical result out of range)
2023-11-14 14:32:25.513 ffff8abe8010 -1 Couldn't init storage provider (RADOS)
设置默认pg_num pgs_num
/etc/ceph/ceph.conf
osd pool default size = 3
osd pool default min_size = 1
osd pool default pg num = 128
osd pool default pgp num = 128
重新部署(--overwrite-conf)
cd /etc/ceph
ceph-deploy --overwrite-conf rgw create ceph-0 ceph-1 ceph-2 ceph-3

故障依旧
成功的方案
删掉所有pool,重新部署,参考以下历史记录
652 ceph osd pool ls
653 ceph osd pool rm vdbench
654 ceph osd pool rm vdbench vdbench --yes-i-really-really-mean-it
655 ls /dev/
656 mount
657 df -h
658 umount /mnt/rbd0
659 ceph osd ls
660 ceph osd pool ls
661 ceph osd volume ls
662 ceph osd dump
663 ceph osd pool rm cephfs_data cephfs_data --yes-i-really-really-mean-it
664 ceph fs ls
665 ceph fs rm cephfs
666 ceph fs fail
667 ceph fs fail cephfs
668 ceph -s
669 ceph fs status cephfs
670 ceph fs ls
671 ceph fs rm cephfs
672 ceph fs rm cephfs --yes-i-really-mean-it
673 ceph fs ls
674 ceph osd pool ls
675 ceph osd pool rm cephfs_data cephfs_data --yes-i-really-mean-it
676 ceph osd pool rm cephfs_data cephfs_data --yes-i-really-really-mean-it
677 ceph osd pool rm cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it
678 ceph -
679 ceph -s
680 cd /etc/ceph
681 ceph-deploy rgw create ceph-0
682 cat /var/log/ceph/ceph-client.rgw.ceph-0.log
683 systemctl status ceph-radosgw@rgw.ceph-0
再来一次集群环境的部署
cd /etc/ceph
ceph-deploy --overwrite-conf rgw create ceph-0 ceph-1 ceph-2 ceph-3
部分日志

ceph -s rgw已经起来了


======================
以下为参考官方文档的失败经理,留档参考
部署对象存储网关rgw(失败)
ceph-deploy install --rgw ceph-0 ceph-1 ceph-2 ceph-3
故障 Unable to find a match: epel-release
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
故障Status code: 404

坑爹的阿里云镜像,没有epel 8,bclinux又是el8版本!
采用huawei epel镜像
[epel-everything]
name=huawei epel mirror
baseurl=https://repo.huaweicloud.com/epel/8/Everything/aarch64/
enabled=1
gpgcheck=0
yum install epel-release --nobest --skip-broken

ceph-deploy 会强制执行yum install epel-release(失败)

注释掉epel-release的安装
修改/usr/lib/python2.7/site-packages/ceph_deploy/hosts/centos/install.py 60行,注释掉epel-release的安装(前面已经手动--skip-broken安装好了)

生效了

故障 Unable to find a match: yum-plugin-priorities
参考上面思路,直接注释掉/usr/lib/python2.7/site-packages/ceph_deploy/hosts/centos/install.py 61,62行

自动找到老版本ceph-release-1-0.el6 Status code: 404

手动安装
修改/usr/lib/python2.7/site-packages/ceph_deploy/install.py
安装版本参数args.release = 'mimic' 改为 args.release = 'nautilus

关于python3版本
bclinux python3.7.9
cenos7 python3.6.8
openeuler 20.03 lts sp3 python 3.7.9
参考
Ceph Object Gateway — Ceph Documentation
如何在 CentOS 8 和 RHEL 8 服务器上启用 EPEL 仓库 - 知乎 (zhihu.com)
ceph-deploy部署ceph-nautilus_ceph nautilus-CSDN博客
相关文章:
bclinux aarch64 ceph 14.2.10 对象存储 http网关 CEPH OBJECT GATEWAY Civetweb
相关内容 bclinux aarch64 ceph 14.2.10 文件存储 Ceph File System, 需要部署mds: ceph-deploy mds-CSDN博客 ceph-deploy bclinux aarch64 ceph 14.2.10【3】vdbench fsd 文件系统测试-CSDN博客 ceph-deploy bclinux aarch64 ceph 14.2.10【2】vdbench rbd 块设…...
2023年亚太杯数学建模思路 - 复盘:人力资源安排的最优化模型
文章目录 0 赛题思路1 描述2 问题概括3 建模过程3.1 边界说明3.2 符号约定3.3 分析3.4 模型建立3.5 模型求解 4 模型评价与推广5 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 描述 …...
【广州华锐互动】VR居家防火逃生模拟演练增强训练的真实性
VR软件开发公司广州华锐互动在消防培训领域已开发了多款VR产品,今天为大家介绍VR居家防火逃生模拟演练系统,这是一种基于虚拟现实技术的消防教育训练设备,通过模拟真实的火灾场景,让使用者身临其境地体验火灾逃生过程,…...
PaddleClas学习1——使用PPLCNet模型对车辆属性进行识别(python)
使用PPLCNet模型对车辆属性进行识别 1. 配置PaddlePaddle,PaddleClas环境1.1 安装PaddlePaddle(1)创建 docker 容器(2)退出/进入 docker 容器(3) 安装验证1.2 安装python3.8(可选)1.3 安装 PaddleClas2. 模型推理2.1 下载官方提供的车辆属性模型2.2 基于 Python 预测引…...
CSS 实现新拟态(Neumorphism) UI 风格
什么是新拟态(Neumorphism) UI 风格?网上似乎还没有一个准确统一的定义。按照我个人的通俗理解,就是将界面的一部分凸起来,另一部分凹下去,形成的一种错落有致的拟物风格。代表作是乌克兰设计师 Alexander Plyuto 在各平台发布的新…...
js 深度学习(六)
立即执行函数 immediate invoked function expression 自动执行 执行完成后立即释放 (function(){var a 1,b2;console.log(ab) }()) // w3c建议 (function(a,b){return ab; })(a,b); // 可以加参数 可以有返回值表达式才能被执行符号执行,被小括号包裹的是表达式…...
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!后面的内容会越来越有意思~ 💡往期推荐: 【机器学习基础】机器学习入门(1) 【机器学习基…...
React hooks(一):useState
1.React hooks React hooks是React16.8的新特性,可以让React函数组件具有状态,并提供类似componentDidMount和componentDidUpdate等生命周期方法。 React 早期版本,类组件可以在shouldComponentUpdate中,通过判断props和state是…...
springboot集成swagger3+解决页面无法访问问题
引入依赖 pom文件引入swagger3依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency>配置启动文件 swagger使用ant_pattern_parser解析…...
mapreduce-maven--30.串联所有单词的字串
项目对象模型(Project Object Model,POM):Maven使用POM文件来描述项目的结构、依赖和构建设置。POM是一个XML文件,位于项目根目录下,并包含项目的基本信息、构建设置、依赖管理等。 依赖管理:M…...
Hive使用max case when over partition by 实现单个窗口取两个窗口的值(单个开窗函数,实际取两个窗口)
一、Hive开窗函数根据特定条件取上一条最接近时间的数据(单个开窗函数,实际取两个窗口) 针对于就诊业务,一次就诊,多个处方,处方结算时间可能不一致,然后会有多个AI助手推荐用药,会…...
2023年【北京市安全员-B证】试题及解析及北京市安全员-B证证考试
题库来源:安全生产模拟考试一点通公众号小程序 北京市安全员-B证试题及解析根据新北京市安全员-B证考试大纲要求,安全生产模拟考试一点通将北京市安全员-B证模拟考试试题进行汇编,组成一套北京市安全员-B证全真模拟考试试题,学员…...
二维码智慧门牌管理系统升级解决方案:流量监控引领服务卓越
文章目录 前言一、流量监控功能概述二、流量监控的益处三、应用案例和成功故事四、实施和支持 前言 随着科技的不断发展,二维码智慧门牌管理系统在其便捷高效的管理方式下,深受广大用户喜爱。为了更好地满足用户需求,提升服务质量࿰…...
Linux内核面试题(1)
整理了一些网上的linux驱动岗位相关面试题,如果错误,欢迎指正。 1硬件中断号和Linux内核的IRQ号它们是如何映射的? irq驱动会从dts获取硬件中断号,dts里的interrupts字段,使用gic_irq_domain_translate函数。 然后使…...
wpr -start generalprofile -start pool -filemode 这句命令具体是什么意思
注意事项: 总体而言,WPR 和 WPA 是强大的性能分析工具,通过它们,你可以深入了解系统运行时的性能特性,找出潜在问题并进行优化。 查看详细信息: wpr -start generalprofile -start pool -filemode 对应的结…...
C/CPP基础练习题多维数组,矩阵转置,杨辉三角详解
多维数组 1. 矩阵转置 输入一个数字构成的矩形, 将矩形的值进行转置后打印 输入: 第一行 正整数n(1<n<10), 表示矩阵的边长 随后输入一个矩阵 输出: 转置后的矩阵 样例输入: 3 1 2 3 4 5 6 7 8 9 样例输出: 1 4 7 2 5 8 3 6 9 2. 颈椎病治疗 最近云海学长一…...
父组件用ref获取子组件数据
子组件 Son/index.vue 子组件的数据和方法一定要记得用defineExpose暴露,不然父组件用ref是获取不到的!!! <script setup> import { ref } from "vue"; const sonNum ref(1); const changeSon () > {sonNum.…...
Haskell添加HTTP爬虫ip编写的爬虫程序
下面是一个简单的使用Haskell编写的爬虫程序示例,它使用了HTTP爬虫IP,以爬取百度图片。请注意,这个程序只是一个基本的示例,实际的爬虫程序可能需要处理更多的细节,例如错误处理、数据清洗等。 import Network.HTTP.Cl…...
MySQL 社区开源备份工具 Xtrabackup 详解
文章目录 前言1. Xtrabackup 介绍1.1 物理备份与逻辑备份区别1.2 Xtrabackup 系列版本 2. Xtrabackup 部署2.1 下载安装包2.2 二进制部署2.3 程序文件介绍2.4 备份需要的权限 3. Xtrabackup 使用场景3.1 本地全量备份3.2 本地压缩备份3.3 全量流式备份3.3.1 备份到远程主机3.3.…...
【仿真】ruckig在线轨迹生成器示例
该场景说明了使用 CoppeliaSim 中提供的 Ruckig 在线轨迹生成功能的各种方法: 1. 在线程脚本内使用单个阻塞函数(红色) 2. 在线程脚本中使用多个非阻塞函数(黄色) 3. 在非线程脚本中使用多个非阻塞函数(…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
英国云服务器上安装宝塔面板(BT Panel)
在英国云服务器上安装宝塔面板(BT Panel) 是完全可行的,尤其适合需要远程管理Linux服务器、快速部署网站、数据库、FTP、SSL证书等服务的用户。宝塔面板以其可视化操作界面和强大的功能广受国内用户欢迎,虽然官方主要面向中国大陆…...
SpringCloud优势
目录 完善的微服务支持 高可用性和容错性 灵活的配置管理 强大的服务网关 分布式追踪能力 丰富的社区生态 易于与其他技术栈集成 完善的微服务支持 Spring Cloud 提供了一整套工具和组件来支持微服务架构的开发,包括服务注册与发现、负载均衡、断路器、配置管理等功能…...
大模型智能体核心技术:CoT与ReAct深度解析
**导读:**在当今AI技术快速发展的背景下,大模型的推理能力和可解释性成为业界关注的焦点。本文深入解析了两项核心技术:CoT(思维链)和ReAct(推理与行动),这两种方法正在重新定义大模…...
