0 说明

业务科室提单需要在某台主机上部署多个单机磐维数据库,用于业务测试。以下内容展示如何在单节点安装多个磐维数据库实例。

1 部署环境准备

1.1 IP 地址及端口

instipport
实例1192.168.131.1717700
实例2192.168.131.1727700

在131.17上分别安装两个实例,端口号需要不一致。

1.2 文件规划存放

inst安装目录数据文件目录日志目录临时文件目录工具目录core文件目录
实例1/data/database1/panweidb/app/data/database1/panweidb/data/data/database1/panweidb/log/data/database1/panweidb/tmp/data/database1/panweidb/tool/data/database1/panweidb/corefile
实例2/data/database2/panweidb/app/data/database2/panweidb/data/data/database2/panweidb/log/data/database2/panweidb/tmp/data/database2/panweidb/tool/data/database2/panweidb/corefile

统一安装在/data目录下。

1.3 用户和组

inst用户名用户id组名组id
实例1omm11101dbgrp1101
实例2omm21102dbgrp1101

用户不同,同组。

2 操作系统及平台要求

配置肯定是越大越好。

2.1 操作系统环境和平台信息

测试环境要求cpu起码2核。

[root@pwdb310 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)[root@pwdb310 ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 154
Model name:            12th Gen Intel(R) Core(TM) i5-12500H
Stepping:              3
CPU MHz:               3110.403
BogoMIPS:              6220.80
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             48K
L1i cache:             32K
L2 cache:              1280K
L3 cache:              18432K
NUMA node0 CPU(s):     0,1

cpu是2*2,操作系统版本centos7.6。

2.2 硬件环境要求

测试环境内存建议4G以上,磁盘空间100G,千兆网。

# 内存
[root@pwdb310 ~]# freetotal        used        free      shared  buff/cache   available
Mem:        3861508      127732     3553232       11804      180544     3496832
Swap:       4194300           0     4194300# 磁盘
[root@pwdb310 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   15G   11G  4.2G  73% /
devtmpfs                 3.8G     0  3.8G   0% /dev
tmpfs                    3.9G   24K  3.9G   1% /dev/shm
tmpfs                    3.9G   12M  3.8G   1% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1                197M  124M   74M  63% /boot
tmpfs                    781M     0  781M   0% /run/user/0# 网卡
[root@pwdb310 ~]# ethtool ens33 | grep SpeedSpeed: 1000Mb/s

2.2 软件环境要求

需要注意的是要有python3,版本3.6以上,不可以编译安装,否则数据库预安装会失败。

2.3 软件依赖

需要安装的依赖包:
在这里插入图片描述
BCLinux-for-Euler-21.10操作系统TF定制版安装libnsl软件会导致系统崩溃,详见生产环境安装磐维数据库 panweidb 一装就崩

2.4 文件系统环境要求

文件系统环境所要求的扇区必须为 512bytes,查看方法如下:

[root@pwdb310 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  200M  0 part /boot
└─sda2            8:2    0   19G  0 part ├─centos-root 253:0    0   15G  0 lvm  /└─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sr0              11:0    1  4.3G  0 rom  
[root@pwdb310 ~]# 
[root@pwdb310 ~]# 
[root@pwdb310 ~]# ll /dev/mapper/centos-root
lrwxrwxrwx 1 root root 7 Jul  1 10:52 /dev/mapper/centos-root -> ../dm-0
[root@pwdb310 ~]# 
[root@pwdb310 ~]# fdisk -l /dev/dm-0 Disk /dev/dm-0: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

3 数据库部署准备

3.1 环境准备

3.1.1 IP 地址及端口

instipport
实例1192.168.131.1717700
实例2192.168.131.1727700

3.1.2 文件规划存放

inst安装目录数据文件目录日志目录临时文件目录工具目录core文件目录
实例1/data/database1/panweidb/app/data/database1/panweidb/data/data/database1/panweidb/log/data/database1/panweidb/tmp/data/database1/panweidb/tool/data/database1/panweidb/corefile
实例2/data/database2/panweidb/app/data/database2/panweidb/data/data/database2/panweidb/log/data/database2/panweidb/tmp/data/database2/panweidb/tool/data/database2/panweidb/corefile

3.2 系统和环境配置

3.2.1 允许root 权限登录

检查主机的 sshd_config 文件内 PermitRootLogin 是否为 yes,如果不是,需要修改为 yes,并重启 sshd 服务:

# cat /etc/ssh/sshd_config | grep PermitRootLogin
PermitRootLogin yes# 重启 sshd 服务
systemctl restart sshd

3.2.2 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

3.2.3 selinux配置

setenforce 0
getenforcevi /etc/selinux/config
将 SELINUX=enforcing 修改为 SELINUX=disabled

3.2.4 时区

timedatectl

3.2.5 系统内核参数配置

内存:

[root@pwdb310 ~]# freetotal        used        free      shared  buff/cache   available
Mem:        3861508      127732     3553232       11804      180544     3496832
Swap:       4194300           0     4194300[root@pwdb310 ~]# getconf PAGE_SIZE
4096

根据内存,设置以下参数:

  • kernel.shmall : 3861508*0.8/4096 = 754
  • kernel.shmmax : 3861508/2 = 1930754
  • kernel.shmmni : 4096
  • vm.dirty_background_bytes : 409600000

查看信号量:

[root@pwdb310 ~]# ipcs -ls
------ Semaphore Limits --------
max number of arrays = 128(对应 SEMMNI )
max semaphores per array = 250(对应 SEMMSL ) 
max semaphores system wide = 32000(对应 SEMMNS )
max ops per semop call = 32(对应 SEMOPM ) 

根据信号量设置:

  • kernel.sem = 250 32000 250 128

该参数包含 4 个参数,排序为 SEMMSL,SEMMNS,SEMOPM,SEMMNI

3.2.5 系统字符集

echo "export LANG=en_US.UTF-8" >> .bash_profile
. .bash_profile

3.2.6 关闭透明大页

使用 root 用户,通过配置如下系统服务实现永久关闭透明大页的目的:

vi /etc/systemd/system/disable-thp.service
#添加以下配置
[Unit]
Description=Disable Transparent Huge Pages (THP)
[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"
[Install]
WantedBy=multi-user.target

修改完成后,执行如下命令加载系统服务,并设置开机自启动:

systemctl daemon-reload
systemctl start disable-thp
systemctl enable disable-thp

查看 THP 状态,当返回结果均为 always madvise [never]时表示成功设置透明大页永久关闭:

[root@pwdb310 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@pwdb310 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]

3.2.7 IPC 参数配置

当 RemoveIPC=yes 时,操作系统会在用户退出时,删除该用户的 IPC 资源(共享内存段和信号量),从而使得 PanWeiDB 服务器使用的 IPC 资源被清理,可能引发数据库宕机,所以需要设置 RemoveIPC 参数为 no。

echo "RemoveIPC=no" >> /etc/systemd/logind.conf
echo "RemoveIPC=no" >> /usr/lib/systemd/system/systemd-logind.service

重新加载配置参数:

systemctl daemon-reload
systemctl restart systemd-logind

检查修改是否生效,由于 CentOS 操作系统环境的 removeIPC 默认为关闭,则执行如下语句是无返回结果的:

loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC

3.2.8 安装数据库依赖

检查依赖情况:

rpm -q libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel python3 expect* bzip2 libnsl gcc gcc-c++ zlib-devel ncurses-devel expect bzip2 gcc

将缺的包安装:

yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel python3 expect* bzip2 libnsl gcc gcc-c++ zlib-devel ncurses-devel expect bzip2 gcc

BCLinux-for-Euler-21.10操作系统TF定制版安装libnsl软件会导致系统崩溃,详见生产环境安装磐维数据库 panweidb 一装就崩

3.2.9 python3版本

[root@pwdb310 ~]# python3 --version
Python 3.6.8

3.2.10 配置ip主机名映射

vi /etc/hosts
192.168.131.17 pwdb310

4 实例1安装

4.1 创建用户与用户组

创建dbgrp组和omm1用户,并修改密码:

groupadd -g 1101 dbgrp
useradd -g dbgrp -u 1101 -m omm1
passwd omm1

4.2 创建安装目录

创建安装目录,归档目录和审计目录:

mkdir -p /data/database1/panweidb
mkdir -p /data/database1/panweidb/archive
mkdir -p /data/database1/panweidb/pg_audit

4.3 上传解压安装包

上传安装包到soft目录下:

mkdir -p /data/database1/panweidb/soft
ls -lrt /data/database1/panweidb/soft
PanWeiDB_V2.0-S3.1.0_B01-install-centos_7-x86_64-no_mot.tar.gz

解压数据库安装包:

tar -zxvf PanWeiDB_V2.0-S3.1.0_B01-install-centos_7-x86_64-no_mot.tar.gz

解压OM(Operation Manager操作管理器 )安装包:

tar -zxvf PanWeiDB_V2.0-S3.1.0_B01-CentOS-64bit-om.tar.gz 

4.4 配置 XML 文件

根据部署需求配置 cluster_config.xml 文件,拷贝模板文件:

cp /data/database1/panweidb/soft/script/gspylib/etc/conf/cluster_config_template.xml /data/database1/panweidb/soft/cluster_config.xml

配置编辑:

vi /data/database1/panweidb/soft/cluster_config.xml

实例1配置:

<?xml version="1.0" encoding="utf-8"?>
<ROOT><CLUSTER><PARAM name="clusterName" value="pwdb310a" /><PARAM name="nodeNames" value="pwdb310"/><PARAM name="gaussdbAppPath" value="/data/database1/panweidb/app" /><PARAM name="gaussdbLogPath" value="/data/database1/panweidb/log" /><PARAM name="tmpMppdbPath" value="/data/database1/panweidb/tmp"/><PARAM name="gaussdbToolPath" value="/data/database1/panweidb/tool"/><PARAM name="corePath" value="/data/database1/panweidb/corefile"/><PARAM name="backIp1s" value="192.168.131.17"/></CLUSTER><DEVICELIST><DEVICE sn="pwdb310"><PARAM name="name" value="pwdb310"/><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><PARAM name="backIp1" value="192.168.131.17"/><PARAM name="sshIp1" value="192.168.131.17"/><PARAM name="dataNum" value="1"/><PARAM name="dataPortBase" value="17700"/><PARAM name="dataNode1" value="/data/database1/panweidb/data"/></DEVICE></DEVICELIST>
</ROOT>

4.5 预安装

root用户执行预安装脚本 gs_preinstall 可以协助自动完成如下的安装环境准备工作:

  • 自动设置 Linux 内核参数以达到提高服务器负载能力的目的。这些参数直
  • 接影响数据库系统的运行状态,请仅在确认必要时调整。
  • 自动将 XML 配置文件、安装包拷贝到其他主机的相同目录下,安装用户和- 用户组不存在时,自动创建安装用户以及用户组。
  • 读取 XML 配置文件中的目录信息并创建,将目录权限授予安装用户。

使用 root 用户为安装目录授权:

chown -R omm1:dbgrp /data/database1/panweidb
chmod -R 755 /data/database1/panweidb

root执行 gs_preinstall 预安装脚本:

cd /data/database1/panweidb/soft/script/
./gs_preinstall -U omm1 -G dbgrp -X ../cluster_config.xml --sep-env-file=/home/omm1/pwdb310a.env

指定用户和组,并把环境变量输出到pwdb310a.env。

4.5 执行安装脚本

切换到安装用户 omm1,并加载环境变量:

su - omm1
cat pwdb310a.env >> .bash_profile
source .bash_profile

运行安装脚本:

gs_install -X /data/database1/panweidb/soft/cluster_config.xml \
--gsinit-parameter="--encoding=UTF8" \
--gsinit-parameter="--lc-collate=C" \
--gsinit-parameter="--lc-ctype=C" \
--gsinit-parameter="--dbcompatibility=B"

中途需要输入一次集群密码,需要符合8位3种字符规则。

安装成功,但是实例启动失败:

[GAUSS-51607] : Failed to start instance. Error: Please check the gs_ctl log for failure details.
2025-06-30 03:02:56.233 68618de0.1 [unknown] 139926357943104 [unknown] 0 dn_6001 42809  0 [BACKEND] FATAL:  the values of memory out of limit, the database failed to be started, max_process_memory (3072MB) must greater than 2GB + cstore_buffers(512MB) + (udf_memory_limit(200MB) - UDF_DEFAULT_MEMORY(200MB)) + shared_buffers(716MB) + preserved memory(3166MB) = 6442MB, reduce the value of shared_buffers, max_pred_locks_per_transaction, max_connection, wal_buffers..etc will help reduce the size of preserved memory

进入数据路径下,编辑参数文件,将max_process_memory 参数改到符合上述要求:

[omm1@pwdb310 data]$ grep max_process_memory postgresql.conf
max_process_memory = 6.5GB

重新启动实例1:

[omm1@pwdb310 data]$ gs_ctl start -D /data/database1/panweidb/data
...
.
[2025-07-01 13:45:52.728][28726][][gs_ctl]:  done
[2025-07-01 13:45:52.728][28726][][gs_ctl]: server started (/data/database1/panweidb/data)

4.6 查看实例状态

[omm1@pwdb310 data]$ gs_ctl status
[2025-07-01 13:46:33.344][28882][][gs_ctl]: gs_ctl status,datadir is /data/database1/panweidb/data 
gs_ctl: server is running (PID: 28729)
/data/database1/panweidb/app/bin/panweidb "-D" "/data/database1/panweidb/data"

5 实例2安装

安装好实例1,后面的实例2其实就简单了,省去了环境配置步骤,从XML文件配置开始操作。

主要与实例1的区分用户名和安装目录,用omm2操作安装数据库,部署在database2目录下。

5.1 创建用户与用户组

创建omm2用户,并修改密码:

useradd -g dbgrp -u 1102 -m omm2
passwd omm2

组和omm1用户相同。

5.2 创建安装目录

mkdir -p /data/database2/panweidb
mkdir -p /data/database2/panweidb/archive
mkdir -p /data/database2/panweidb/pg_audit
mkdir -p /data/database2/panweidb/soft

5.3 上传解压安装包

从实例1目录下拷贝安装包过来:

cp /data/database2/panweidb/soft/script/gspylib/etc/conf/cluster_config_template.xml /data/database2/panweidb/soft/cluster_config.xmlls -lrt /data/database2/panweidb/soft
PanWeiDB_V2.0-S3.1.0_B01-install-centos_7-x86_64-no_mot.tar.gz

解压数据库安装包:

tar -zxvf PanWeiDB_V2.0-S3.1.0_B01-install-centos_7-x86_64-no_mot.tar.gz

解压OM(Operation Manager操作管理器 )安装包:

tar -zxvf PanWeiDB_V2.0-S3.1.0_B01-CentOS-64bit-om.tar.gz 

5.4 配置 XML 文件

根据部署需求配置 cluster_config.xml 文件,拷贝模板文件:

cp /data/database2/panweidb/soft/script/gspylib/etc/conf/cluster_config_template.xml /data/database2/panweidb/soft/cluster_config.xml

配置编辑:

vi /data/database2/panweidb/soft/cluster_config.xml

实例1配置:

<?xml version="1.0" encoding="utf-8"?>
<ROOT><CLUSTER><PARAM name="clusterName" value="pwdb310b" /><PARAM name="nodeNames" value="pwdb310"/><PARAM name="gaussdbAppPath" value="/data/database2/panweidb/app" /><PARAM name="gaussdbLogPath" value="/data/database2/panweidb/log" /><PARAM name="tmpMppdbPath" value="/data/database2/panweidb/tmp"/><PARAM name="gaussdbToolPath" value="/data/database2/panweidb/tool"/><PARAM name="corePath" value="/data/database2/panweidb/corefile"/><PARAM name="backIp1s" value="192.168.131.17"/></CLUSTER><DEVICELIST><DEVICE sn="pwdb310"><PARAM name="name" value="pwdb310"/><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><PARAM name="backIp1" value="192.168.131.17"/><PARAM name="sshIp1" value="192.168.131.17"/><PARAM name="dataNum" value="1"/><PARAM name="dataPortBase" value="27700"/><PARAM name="dataNode1" value="/data/database2/panweidb/data"/></DEVICE></DEVICELIST>
</ROOT>

5.5 预安装

root用户执行预安装脚本 gs_preinstall 可以协助自动完成如下的安装环境准备工作:

  • 自动设置 Linux 内核参数以达到提高服务器负载能力的目的。这些参数直
  • 接影响数据库系统的运行状态,请仅在确认必要时调整。
  • 自动将 XML 配置文件、安装包拷贝到其他主机的相同目录下,安装用户和- 用户组不存在时,自动创建安装用户以及用户组。
  • 读取 XML 配置文件中的目录信息并创建,将目录权限授予安装用户。

使用 root 用户为安装目录授权:

chown -R omm2:dbgrp /data/database2/panweidb
chmod -R 755 /data/database2/panweidb

root执行 gs_preinstall 预安装脚本:

cd /data/database2/panweidb/soft/script/
./gs_preinstall -U omm2 -G dbgrp -X ../cluster_config.xml --sep-env-file=/home/omm2/pwdb310b.env

5.5 执行安装脚本

切换到安装用户 omm2,并加载环境变量:

su - omm2
cat pwdb310b.env >> .bash_profile
source .bash_profile

运行安装脚本:

gs_install -X /data/database2/panweidb/soft/cluster_config.xml \
--gsinit-parameter="--encoding=UTF8" \
--gsinit-parameter="--lc-collate=C" \
--gsinit-parameter="--lc-ctype=C" \
--gsinit-parameter="--dbcompatibility=B"

中途需要输入一次集群密码,需要符合8位3种字符规则。

安装成功,但是实例启动失败,处理办法和实例1一样:

略过。

重新启动实例2:

[omm2@pwdb310 data]$ gs_ctl start -D /data/database2/panweidb/data
...
.
[2025-07-01 15:18:25.683][42080][][gs_ctl]:  done
[2025-07-01 15:18:25.683][42080][][gs_ctl]: server started (/data/database2/panweidb/data)

5.6 查看实例状态

[omm2@pwdb310 ~]$ gs_ctl status
[2025-07-01 15:18:48.687][42156][][gs_ctl]: gs_ctl status,datadir is /data/database2/panweidb/data 
gs_ctl: server is running (PID: 42083)
/data/database2/panweidb/app/bin/panweidb "-D" "/data/database2/panweidb/data"

6 多实例区分

6.1 目录结构

数据库路径分别对应database1和database2:
在这里插入图片描述

6.2 进程和端口

数据库进程:
在这里插入图片描述
数据库端口:
在这里插入图片描述

7 总结

磐维数据库单机多实例安装还是非常简单的,只需要做好用户和安装目录的区分即可。通过上述步骤,已在单节点主机131.17成功部署两个磐维数据库实例。实例 1 与实例 2 通过不同端口(17700/27700)、独立用户(omm1/omm2)及隔离目录结构实现区分,确保了资源隔离与服务独立性。

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

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

相关文章

转录组分析流程(三):功能富集分析

我们的教程主要是以一个具体的例子作为线索,通过对公共数据库数据bulk-RNA-seq的挖掘,利用生物信息学分析来探索目标基因集作为某种疾病数据预后基因的潜能及其潜在分子机制,同时在单细胞水平分析(对scRNA-seq进行挖掘)预后基因的表达,了解细胞之间的通讯网络,以期为该疾病…

全面掌握 tkinter:Python GUI 编程的入门与实战指南

在自动化、工具开发、数据可视化等领域&#xff0c;图形用户界面&#xff08;GUI&#xff09;往往是提升用户体验的重要方式。作为 Python 官方内置的 GUI 库&#xff0c;tkinter 以其轻量、跨平台、易于学习的特性成为初学者和轻量级应用开发者首选。 本文将以深入浅出的方式…

TDH社区开发版安装教程

&#xff08;注&#xff1a;本文章来源于星环官网安装手册&#xff09; 后面放置了视频和安装手册连接 1、硬件及环境要求 Docker17及以上版本&#xff0c;支持Centos&#xff0c;Ubuntu等系统&#xff08;注&#xff1a;这里我使用CentOS-7版本&#xff0c;最佳版本推荐为7.…

Linux基本命令篇 —— grep命令

grep是Linux/Unix系统中一个非常强大的文本搜索工具&#xff0c;它的名字来源于"Global Regular Expression Print"&#xff08;全局正则表达式打印&#xff09;。grep命令用于在文件中搜索包含特定模式的行&#xff0c;并将匹配的行打印出来。 目录 一、基本语法 二…

苍穹外卖问题系列之 苍穹外卖订单详情前端界面和网课给的不一样

问题 如图&#xff0c;我的前端界面和网课里面给的不一样&#xff0c;没有“申请退款”和一些其他的该有的东西。 原因分析 “合计”这一栏显示undefined说明我们的总金额没有输入进去。可以看看订单提交那块的代码&#xff0c;是否可以正确输出。还有就是订单详细界面展示这…

CppCon 2018 学习:EMULATING THE NINTENDO 3DS

我们来逐个分析一下这个 组件交互模型 和 仿真 & 序列化 的关系&#xff0c;特别是主线程&#xff08;Main Thread&#xff09;与其他系统组件之间的交互。 1. Main Thread — simple (basically memcpy) --> GPU Main Thread&#xff08;主线程&#xff09;负责游戏的…

[Python 基础课程]数字

数字 数字数据类型用于存储数值&#xff0c;比如整数、小数等。数据类型是不允许改变的&#xff0c;这就意味着如果改变数字数据类型的值&#xff0c;将重新分配内存空间。 创建数字类型的变量&#xff1a; var1 1 var2 10创建完变量后&#xff0c;如果想废弃掉这个变量&a…

Linux CentOS环境下Java连接MySQL数据库指南

文章目录 前言一、环境准备1.1 系统更新1.2 Java环境安装1.3 MySQL数据库安装1.4 下载JDBC驱动 二、编写Java程序2.1 代码如下2.2 编译和运行2.3 验证创建结果 三、代码上传至Gitee3.1 安装配置Git3.2 克隆仓库到本地3.3 添加Java项目文件3.4 提交代码到本地仓库3.5 推送到Gite…

LLM面试12

讯飞算法工程师面试题 SVM核函数能否映射到无穷维 可以的&#xff0c;多项式核函数将低维数据映射到高维&#xff08;维度是有限的&#xff09;&#xff0c;而高斯核函数可以映射到无穷维。由 描述下xgb原理&#xff0c;损失函数 首先需要说一说GBDT,它是一种基于boosting增强…

类加载生命周期与内存区域详解

类加载生命周期与内存区域详解 Java 类加载的生命周期包括加载、验证、准备、解析、初始化五个阶段&#xff0c;每个阶段在内存中的存储区域和赋值机制各有不同。以下是详细解析&#xff1a; 一、类加载生命周期阶段 1. 加载&#xff08;Loading&#xff09; 内存区域&…

正交视图三维重建2 笔记 2d线到3d线2 先生成3d线然后判断3d线在不在

应该先连线再判断线在不在 if(fx1tx1&&tx1tx2){ const A[fx1, fy1, ty1];const Ahat[fx1, fy1, ty2];drawlines(A[0], A[1], A[2], Ahat[0], Ahat[1], Ahat[2], lineId, type,2);}if(fx2tx1&&tx1tx2){ const B[fx2, fy2, ty1];const Bhat[fx2, fy2, ty2];drawl…

Hibernate对象生命周期全解析

Hibernate对象生命周期详解 Hibernate作为Java领域主流的ORM框架,其核心机制之一就是对持久化对象生命周期的管理。理解Hibernate对象生命周期对于正确使用Hibernate进行数据持久化操作至关重要。Hibernate将对象分为三种主要状态:瞬时态(Transient)、持久态(Persistent)和游…

MCP 协议使用核心讲解

&#x1f4c4; MCP 协议使用核心讲解 ✅ MCP 协议的核心在于以下几个方面 一、MCP 请求结构&#xff08;MCPRequest&#xff09; {"messages": [{"role": "user","content": "帮我查询一下上海的天气"}],"tools"…

云计算中的几何方法:曲面变形的可视化与动画-AI云计算数值分析和代码验证

着重强调微分方程底层的几何和代数结构&#xff0c;以进行更深入的分析和求解方法。开发结构保持的数值方法&#xff0c;以在计算中保持定性特征。统一符号和数值方法&#xff0c;实现有效的数学建模。利用几何解释&#xff08;如双曲几何&#xff09;求解经典微分方程。利用计…

OpenCV篇——项目(一)OCR识别读取银行卡号码

目录 信用卡数字识别系统&#xff1a;前言与代码解析 前言 项目代码 ​​​​​​结果演示 代码模块解析 1. 参数解析模块 2. 轮廓排序函数 3. 图像预处理模块 4. 输入图像处理流程 5. 卡号区域定位 6. 数字识别与输出 系统优势 信用卡数字识别系统&#xff1a;前言…

Adobe AI高效设计秘籍与创新思维进阶

开篇&#xff1a;十年设计征途&#xff0c;Adobe赋能创意飞翔 作为一名在设计领域耕耘十年的旅居职业设计师&#xff0c;我得益于英国帕维斯经济与音乐学院&#xff08;Parvis School of Economics and Music&#xff09;提供的Adobe正版教育订阅&#xff0c;得以持续探索技术…

vc formal实例

命令&#xff1a; module load gui 方式启动命令&#xff0c; 看一下cc_pinmux.tcl 里面有什么&#xff1a; 工具feature 的设置&#xff0c;不太懂 对特定模块做blackbox, library file, 一般是工具无法识别的模块&#xff0c;例如 IO lib,memory lib,analog lib, 内部有 …

JavaScript取值get的json/url/普通对象参考

dstore.on(datachanged,function(dstore){ for(i0;i<dstore.getCount();i){ var a dstore.getAt(i); var imp_infoa.get(imp_info); 上面这段JS代码&#xff0c;imp_info取到的是一长串KEY和VALUE组成的内容&#xff0c;我怎样可以准确获取其中一…

【C++】侦测按键事件

侦测按键事件可以用C的conio.h头文件&#xff0c;用到的函数&#xff1a; _CRTIMP int __cdecl _getch(void); 输入以下代码&#xff1a; #include <iostream> #include <conio.h> using namespace std;int main() {char key;while (true) {cout << "…

Coremail受邀亮相华为开发者大会

6月20-22日&#xff0c;为期三天的HDC.2025华为开发者大会在东莞举行&#xff0c;全球超过1.2万名开发者汇聚现场&#xff0c;聚焦鸿蒙生态、AI技术及产业合作。Coremail作为鸿蒙生态的核心伙伴和深度参与者受邀出席&#xff0c;并获得“智慧办公最佳产品合作伙伴”奖项。 HDC.…