达梦数据库DSC集群搭建:两节点与多节点(三节点)集群搭建

news2024/11/26 17:35:49

目录

说明... 4

两节点集群搭建... 5

一、创建共享磁盘... 6

1、DMDSC01添加硬盘... 6

2、DMDSC02添加共享磁盘... 8

二、搭建DMDSC集群... 12

1、安装完成数据库配置资源限制... 12

2、添加用户变量... 13

3、共享磁盘分区... 14

4、新建udev规则文件-裸设备绑定... 15

5、检查是否配置成功... 16

6、配置DCR初始化配置文件-创建配置文件存放目录... 16

7、新建dmdcr_cfg.ini文件... 17

8、创建ASM磁盘... 19

9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk。... 19

10、配置ASM的MAL系统配置文件... 20

11、配置DCR启动配置文件... 20

12、启动DMCSS服务... 22

13、dmasmtool工具创建redo日志磁盘组和数据文件磁盘组... 22

13、初始化DSC集群数据库实例... 23

15、将dsc2目录(节点数据库实例配置文件)复制到节点二指定目录下... 26

16、启动css,asm,server服务... 26

17、配置监视器... 27

18、启动监视器... 28

19、注册服务--后台启动... 29

20、启动方式... 30

21、客户端验证... 31

三、多节点(3节点)集群+单节点监控搭建... 33

1、安装完成数据库配置资源限制... 34

2、添加用户变量... 35

3、共享磁盘分区... 35

4、新建udev规则文件-裸设备绑定... 37

5、检查配置是否成功... 38

6、配置DCR初始化配置文件... 38

7、新建dmdcr_cfg.ini文件... 38

8、创建ASM磁盘... 41

9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk. 42

10、配置ASM的MAL系统配置文件... 42

11、配置DCR启动配置文件... 43

12、启动DMCSS服务... 45

13、Asm启动后dmdba用户启动dmasmtool工具创建redo日志磁盘组和数据文件磁盘组... 46

14、初始化DCS集群数据库实例(生成达梦数据库实例配置文件)... 47

15、将对应目录复制到对应节点的指定目录下... 48

16、启动css,asm,server 49

17、配置监视器... 50

18、启动监视器... 51

19、注册服务--后台启动... 51

20、启动方式... 53

21、客户端验证... 54

说明

1、启动DMDSC集群之前,必须先启动集群同步服务DMCSS,若使用了DMASM文件系统,则DMASMSVR服务也必须先启动。

2、DMCSS可以配置DMASMSVR/DMSERVER 自动拉起;可以先仅启动 DMCSS,然后启动 DMCSSM。

3、DMCSSM 控制台执行命令

"ep startup asm"启动 DMASMSVR 集群

"ep startup dsc"启动 DMSERVER 集群(asm/dsc集群的组名)

"ep stop asm/dsc"关闭 DMASMSVR/DMSERVER 集群环境。

4、关闭 DMDSC集群环境,先关闭DMSERVER,再关闭asm 和 css。

5、dmasmcmd工具(asm初始化工具)可以根据DMDCR_CFG.INI配置文件,格式化DCR DISK和VOTE DISK。详细命令见手册。

dmasmtool是asm管理工具。详细命令见手册。

dmasmcmd工具使用说明:(DMDCR_CFG.INI配置说明)

1)dmasmcmd执行 init votedisk disk_path from dcr_cfg_path指定的disk_path必须和dcr_cfg_path里面配置的DCR_VTD_PATH 相同。

2)如果配置dmcssm,dmcssm的OGUID必须和DCR_OGUID保持一致。

3)DCR_N_GRP必须和实际配置的组数目保持一致。

4)CSS和ASM组的DCR_GRP_N_EP要相等,DB的DCR_GRP_N_EP要小于等于CSS/ASM的DCR_GRP_N_EP。

5)ASM节点的DCR_EP_NAME必须和DMASM系统使用的DMASVRMAL.INI配置文件里的 MAL_INST_NAME一致。

6)DB节点的DCR_EP_NAME必须和DMMAL.INI文件里的MAL_INST_NAME、以及DM.INI文件里的INSTANCE_NAME一致。

7)所有DB节点的DCR_EP_NAME都不能重复,DB组内的DCR_EP_SEQNO不能重复。

8)DMDCR_CFG.INI 配置文件中的所有路径均不支持中文路径。

6、DMDCR.INI:是DMCSS、DMASMSVR、DMASMTOOL等工具的输入参数。

7、DMASMSVR 实例启动命令:

/dm8/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini

8、DMSERVER 实例启动命令:

/dm8/bin/dmserver path=/home/dmdba/config/dscn/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

9、dmini.ini是DMINIT工具初始化数据库环境的配置文件。Control指定配置路径。

./dminit control=/home/dmdba/config/dminit.ini

10、mal配置文件包括dmmal.ini(初始化实例时自动生成)和dmasvrmal.ini(手动配置)。使用同一套MAL系统的所有实例,MAL系统配置文件要严格保持一致。

11、dmasmsvr组成的集群环境使用一套MAL系统进行通讯,需要在dmdcr.ini中配置DMDCR_MAL_PATH参数,指定MAL配置文件路径(dmasvrmal.ini绝对路径)。

集群搭建:

1)准备集群节点(双网卡)及监控服务器(3+1)

2)配置节点服务器的共享磁盘

3)服务器节点安装达梦数据库。(暂不初始化创建实例)

4)共享磁盘分区(4个区)(100M,100M,2G,77G数据盘)

5)配置DCR初始化配置文件(dmdcr_cfg.ini-)

6)dmasmcmd初始化工具创建ASM磁盘,并使用dmdcr_cfg.ini配置文件初始化dcr和vote磁盘。

7)配置asm的mal系统配置文件(dmasvrmal.ini)

8)配置DCR启动配置文件(dmdcr.ini—dmcss(集群同步(控制)软件))。(DCR系统磁盘,DCRV系统磁盘组)

9)启动dmcss集群同步软件(根据dmdcr.ini配置启动)。

10)启动dmasmtool工具(也是根据dmdcr.ini配置启动):创建redo日志磁盘组和数据文件磁盘组

11)配置dminit初始化实例配置文件

12)初始化DSC集群数据库实例(根据dminit.ini配置文件)

13)复制初始化好的各实例配置文件(目录包含:dm.ini、dmmal.ini、sqllog.ini)到各节点指定位置。

14)启动css,asm,server服务。(上面css、asm已启动就不需要操作,server服务会被css自动拉起(若没拉起再手动启动))

15)配置监视器服务(配置dmcssm.ini配置文件,启动dmcssm监控服务即可)

16)可以注册服务,后台启动。(需要修改dmdcr.ini中各服务启动命令)

两节点集群搭建

两台服务器

DMDSC01

192.168.16.220

10.10.10.220

DMDSC02

192.168.16.221

10.10.10.221

前提条件:两台服务器配置两个网卡,并安装完成数据库,未初始化实例。

 

 

一、创建共享磁盘

两台虚拟机关机

1、DMDSC01添加硬盘

 

 

 

指定共享盘路径及名称:H:\linux\dmdb\ShardDisk\CentOS7-2c4g-DMDSC01-2-gx0.vmdk

 

点击高级

 

2、DMDSC02添加共享磁盘

 

 

 

点击高级

 

 

添加完成后,虚拟机路径下的 .vmx 文件中会出现如下信息:两台都加

 

scsi1.virtualDev = "lsilogic"

scsi1.present = "TRUE"

scsi1:0.fileName = "E:\vmdk\test\Red Hat TEST RAC0-0.vmdk"

scsi1:0.present = "TRUE"

还需要手工在两台虚拟机 .vmx 文件中添加如下信息:

diskLib.dataCacheMaxSize=0

diskLib.dataCacheMaxReadAheadSize=0

diskLib.dataCacheMinReadAheadSize=0

diskLib.dataCachePageSize=4096

diskLib.maxUnsyncedWrites = "0"

disk.locking = "FALSE"

添加完成后,启动两台虚拟机

fdisk -l --可以查看共享磁盘信息

sd 代表的是 SCSI,SATA 接口硬盘

DMDSC01

 

DMDSC02

 

两台机器共享磁盘一致,共享磁盘添加成功。

二、搭建DMDSC集群

Dm8DSC安装步骤

1、安装完成数据库配置资源限制

root

修改dmdba用户资源限制:vim /etc/security/limits.conf

在文件末尾加入:

dmdba soft core unlimited

dmdba hard core unlimited

dmdba soft nofile 65536

dmdba hard nofile 65536

dmdba soft nproc  65536

dmdba hard nproc  65536

dmdba soft stack  65536

dmdba hard stack  65536

2、添加用户变量

dmdba

Vim /home/dmdba/.bash_profile

文件末尾添加如下内容:

export DM_HOME="/dm8"

export PATH=$PATH:$DM_HOME/bin

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"

 

配置两台虚拟机不同主机名称

(这个可以不用,该集群与服务器名称无关)

vim /etc/hostname

DMDSC01

DMDSC02

重启服务器

reboot

3、共享磁盘分区

执行以下命令查看磁盘

[root@DMDSC01 ~]# lsblk

 

 

进行裸设备划分 (分区)--一个节点执行即可

因为是共享磁盘,只需在一台虚拟机操作即可

 输入 fdisk /dev/sdb

 依次输入 n → p → 1 →回车→回车→ +100M →回车,完成第一块磁盘划分

 依次输入 n → p → 2 →回车→回车→ +100M →回车,完成第二块磁盘划分

 依次输入 n → p → 3 →回车→回车→ +2048M →回车,完成第三块磁盘划分

 依次输入 n → p → 4 →回车→回车→回车,完成第四块磁盘划分

 w

保存配置并退出

[root@DMDSC01 ~]# fdisk -l

 

4、新建udev规则文件-裸设备绑定

(两台均需操作)

[root@DMDSC01 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules

[root@DMDSC02 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules

添加以下内容

ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add",KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add",KERNEL=="sdb3",RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add",KERNEL=="sdb4",RUN+="/bin/raw /dev/raw/raw4 %N"

ACTION=="add",KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

 

执行以下命令使文件生效

udevadm trigger --type=devices --action=change

5、检查是否配置成功

[root@DMDSC01 ~]# ll /dev/raw/raw*

 

没有绑定成功,重启服务器,再验证绑定成功

reboot

 

 

注意:如果查不到配置的裸设备,请重启服务器在验证。

6、配置DCR初始化配置文件-创建配置文件存放目录

两个节点用dmdba用户执行。

mkdir -p /home/dmdba/config

mkdir -p /home/dmdba/config

7、新建dmdcr_cfg.ini文件

使用dmdba用户--两个节点都配置

全部使用外网或全部为内网ip均可以。(规范内网ip配置)

vim /home/dmdba/config/dmdcr_cfg.ini

添加以下内容:

DCR_N_GRP = 3

DCR_VTD_PATH = /dev/raw/raw2

DCR_OGUID = 63635

[GRP]

DCR_GRP_TYPE = CSS

DCR_GRP_NAME = CSS

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 60

[CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 10.10.10.220

DCR_EP_PORT = 9341

[CSS]

DCR_EP_NAME = CSS2

DCR_EP_HOST = 10.10.10.221

DCR_EP_PORT = 9341

[GRP]

DCR_GRP_TYPE = ASM

DCR_GRP_NAME = ASM

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 60

[ASM]

DCR_EP_NAME = ASM1

DCR_EP_SHM_KEY = 93360

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 10.10.10.220

DCR_EP_PORT = 9351

DCR_EP_ASM_LOAD_PATH = /dev/raw

[ASM]

DCR_EP_NAME = ASM2

DCR_EP_SHM_KEY = 93361

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 10.10.10.221

DCR_EP_PORT = 9351

DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP]

DCR_GRP_TYPE = DB

DCR_GRP_NAME = DSC

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 60

[DSC]

DCR_EP_NAME = DSC1

DCR_EP_SEQNO = 0

DCR_EP_PORT = 5237

DCR_CHECK_PORT = 9741

[DSC]

DCR_EP_NAME = DSC2

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5237

DCR_CHECK_PORT = 9741

8、创建ASM磁盘

使用dmdba用户

[dmdba@DMDSC01 bin]$ ./dmasmcmd

DMASMCMD V8

ASM>create dcrdisk '/dev/raw/raw1' 'dcr'

ASM> create votedisk '/dev/raw/raw2' 'vote'

ASM> create asmdisk '/dev/raw/raw3' 'LOG0'

ASM> create asmdisk '/dev/raw/raw4' 'DATA0'

 

检查

listdisks '/dev/raw/'

 

9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk。

并在ASM提示符执行以下命令:

ASM> init dcrdisk '/dev/raw/raw1' from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'

ASM>init votedisk '/dev/raw/raw2' from '/home/dmdba/config/dmdcr_cfg.ini'

 

10、配置ASM的MAL系统配置文件

两个节点都需要配置,内容相同

vim /home/dmdba/config/dmasvrmal.ini

添加以下内容

[MAL_INST1]

MAL_INST_NAME              = ASM1

MAL_HOST                    = 10.10.10.220

MAL_PORT                    = 7236

 

[MAL_INST2]

MAL_INST_NAME              = ASM2

MAL_HOST                    = 10.10.10.221

MAL_PORT                    = 7236

 

11、配置DCR启动配置文件

[dmdba@DMDSC01 bin]$ vim /home/dmdba/config/dmdcr.ini

节点一添加:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 0

#ASM 重启参数,命令行方式启动,注释掉的CMD为注册后修改的启动命令

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc1 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc1 start

[dmdba@DMDSC02 bin]$ vim /home/dmdba/config/dmdcr.ini

节点二添加:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 1

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc2 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc2 start

12、启动DMCSS服务

查看防火墙状态:关闭

两个节点启动dmcss,dmdba用户到数据库安装目录bin下执行

节点一和二这里需要一起启动css只起一个节点会卡住不往下执行:

[dmdba@DMDSC01 bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC02 bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

 

启动后会一直报错,不需要管,因为没初始化实例。后面初始化实例后就正常了

 

 

13、dmasmtool工具创建redo日志磁盘组和数据文件磁盘组

Asm启动后,dmdba用户启动dmasmtool工具

[dmdba@DMDSC01 bin]$ ./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini

创建redo日志磁盘组

ASM>create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

创建数据文件磁盘组

ASM>create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

 

ls --查看磁盘组信息是否正确

lsdsk --查看磁盘详细信息

 

 

13、初始化DSC集群数据库实例

配置dminit控制文件,节点一使用dmdba用户执行以下命令:

[dmdba@DMDSC01 config]$ vim dminit.ini

添加下列内容

db_name = DSC

system_path = +DMDATA/data

system = +DMDATA/data/dsc/system.dbf

system_size = 128

roll = +DMDATA/data/dsc/roll.dbf

roll_size = 128

main = +DMDATA/data/dsc/main.dbf

main_size = 128

ctl_path = +DMDATA/data/dsc/dm.ctl

ctl_size = 8

log_size = 256

dcr_path = /dev/raw/raw1 #dcr 磁盘路径,目前不支持 asm,只能是裸设备

dcr_seqno = 0

auto_overwrite = 1

[DSC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /home/dmdba/config/dsc1

port_num = 5236

mal_host = 10.10.10.220

mal_port = 9236

log_path = +DMLOG/log/DSC1_log01.log

log_path = +DMLOG/log/DSC1_log02.log

[DSC2] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /home/dmdba/config/dsc2

port_num = 5236

mal_host = 10.10.10.221

mal_port = 9236

log_path = +DMLOG/log/DSC2_log01.log

log_path = +DMLOG/log/DSC2_log02.log

[dmdba@DMDSC01 bin]$ ./dminit control=/home/dmdba/config/dminit.ini

 

启动报错:log_size设置不对,100改为256即可

 

15、将dsc2目录(节点数据库实例配置文件)复制到节点二指定目录下

[dmdba@DMDSC01 config]$ scp -r dsc2 192.168.16.221:/home/dmdba/config/

 

两台服务的dmcss均正常不报错了(节点2自动拉起的)

 

 

16、启动css,asm,server服务

两个节点都需要(css,asm前面已启动本次就不需要启动,server会被css自动拉起)

[dmdba@dm2 bin] ./dmcss DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC02 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

 

直接找到端口kill掉再执行即可

[dmdba@DMDSC01 bin]$ netstat -lnupt

[dmdba@DMDSC01 bin]$ kill -9 2172

[dmdba@DMDSC01 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini --这里只需要一个节点执行启动asm即可,因为共用的!!

[dmdba@DMDSC01 bin]$ ./dmserver /home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC02 bin]$ ./dmserver /home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

 

 

17、配置监视器

[dmdba@dm1 config]$ vim dmcssm.ini

添加下列内容:

#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致

CSSM_OGUID = 63635

#配置所有 CSS 的连接信息,

#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致

CSSM_CSS_IP = 10.10.10.220:9341

CSSM_CSS_IP = 10.10.10.221:9341

CSSM_LOG_PATH =/home/dmdba/dmdbms/log #监视器日志文件存放路径

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

18、启动监视器

dmdba用户执行。

[dmdba@dm1 bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

show

 

 

 

19、注册服务--后台启动

root

节点一:

[root@DMDSC01 root]# ./dm_service_installer.sh -t dmcss -p dsc1 -dcr_ini /home/dmdba/config/dmdcr.ini

[root@DMDSC01 root]# ./dm_service_installer.sh -t dmasmsvr -p dsc1 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc1

[root@DMDSC01 root]# ./dm_service_installer.sh -t dmserver -p dsc1 -dm_ini /home/dmdba/config/dsc1/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc1

 

节点二:

[root@DMDSC02 root]# ./dm_service_installer.sh -t dmcss -p dsc2 -dcr_ini /home/dmdba/config/dmdcr.ini

[root@DMDSC02 root]# ./dm_service_installer.sh -t dmasmsvr -p dsc2 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc2

[root@DMDSC02 root]# ./dm_service_installer.sh -t dmserver -p dsc2 -dm_ini /home/dmdba/config/dsc2/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc2

 

修改配置文件:--两个节点都需要

[dmdba@DMDSC01 config]$ vim dmdcr.ini  

DMDCR_PATH     = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO   = 0

#ASM 重启参数,命令行方式启动 (注意Servicedsc1还是Servicedsc2)

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc1 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc1 start

20、启动方式

先启动css-再asm-最后server

[dmdba@DMDSC01 bin]$ ./DmCSSServicedsc1 start

[dmdba@DMDSC02 bin]$ ./DmCSSServicedsc2 start

 

 

[dmdba@DMDSC01 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC02 bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC01 bin]$ ./dmserver /home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDSC02 bin]$ ./dmserver /home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

启动监视器,dmdba用户执行。

[dmdba@DMDSC01 bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

 

21、客户端验证

(shutdown一个数据库,会被自动拉起重新加入集群)

任意节点配置dm_scv.conf文件

[dmdba@dm1 bin]$ vim /etc/dm_svc.conf

添加:

dmdsc=(192.168.16.220:5237,192.168.16.221:5237)

登录数据库验证:

 

select * from dept;

 

关闭220达梦数据库服务

kill -9

 

数据库客户端查询会有几秒钟中断

 

继续登录已经切换了。

 

异常节点自动拉起恢复后会重新加入集群中

 

三、多节点(3节点)集群+单节点监控搭建

准备四台双网卡2c4g服务器:(监控单独)

DMDSC03

192.168.16.222

10.10.10.222

DMDSC04

192.168.16.223

10.10.10.223

DMDSC05

192.168.16.224

10.10.10.224

DMDSC09

192.168.16.228

10.10.10.228

共享磁盘搭建一样的就是多增加一个服务器共享

 

 

Dm8DSC安装步骤

1、安装完成数据库配置资源限制

暂不初始化实例

root

修改dmdba用户资源限制:vim /etc/security/limits.conf

在文件末尾加入:

dmdba soft core unlimited

dmdba hard core unlimited

dmdba soft nofile 65536

dmdba hard nofile 65536

dmdba soft nproc  65536

dmdba hard nproc  65536

dmdba soft stack  65536

dmdba hard stack  65536

2、添加用户变量

dmdba

vim /home/dmdba/.bash_profile

文件末尾添加如下内容:

export DM_HOME="/dm8"

export PATH=$PATH:$DM_HOME/bin

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"

 

3、共享磁盘分区

[root@DMDB ~]# lsblk

 

进行裸设备划分 (分区)--因为是共享磁盘,一个节点操作即可

因为是共享磁盘,只需在一台虚拟机操作即可

 输入 fdisk /dev/sdb

 依次输入 n → p → 1 →回车→回车→ +100M →回车,完成第一块磁盘划分

 依次输入 n → p → 2 →回车→回车→ +100M →回车,完成第二块磁盘划分

 依次输入 n → p → 3 →回车→回车→ +2048M →回车,完成第三块磁盘划分

 依次输入 n → p → 4 →回车→回车→回车,完成第四块磁盘划分

 w

保存配置并退出

[root@DMDB ~]# fdisk -l

 

4、新建udev规则文件-裸设备绑定

(三台均需操作)

[root@DMDSC03 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules

[root@DMDSC04 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules

[root@DMDSC05 ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules

添加以下内容

ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add",KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add",KERNEL=="sdb3",RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add",KERNEL=="sdb4",RUN+="/bin/raw /dev/raw/raw4 %N"

ACTION=="add",KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

 

执行以下命令使文件生效

udevadm trigger --type=devices --action=change

5、检查配置是否成功

[root@DMDSC03 ~]# ll /dev/raw/raw*

 

没有绑定成功,重启服务器,再验证绑定成功

reboot

 

注意:如果查不到配置的裸设备,请重启服务器在验证。

6、配置DCR初始化配置文件

创建配置文件存放目录,三个节点用dmdba用户执行。

mkdir -p /home/dmdba/config

7、新建dmdcr_cfg.ini文件

使用dmdba用户—三个节点都配置  (配置完全一样

DCR_EP_HOST和MAL_HOST全部都为内网网段(这里集群搭建配置文件中就都没配置外网ip)

vim /home/dmdba/config/dmdcr_cfg.ini

添加以下内容:

DCR_N_GRP = 3

DCR_VTD_PATH = /dev/raw/raw2

DCR_OGUID = 63635

[GRP]

DCR_GRP_TYPE = CSS

DCR_GRP_NAME = CSS

DCR_GRP_N_EP = 3

DCR_GRP_DSKCHK_CNT = 60

[CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 10.10.10.222

DCR_EP_PORT = 9341

[CSS]

DCR_EP_NAME = CSS2

DCR_EP_HOST = 10.10.10.223

DCR_EP_PORT = 9341

[CSS]

DCR_EP_NAME = CSS3

DCR_EP_HOST = 10.10.10.224

DCR_EP_PORT = 9341

[GRP]

DCR_GRP_TYPE = ASM

DCR_GRP_NAME = ASM

DCR_GRP_N_EP = 3

DCR_GRP_DSKCHK_CNT = 60

[ASM]

DCR_EP_NAME = ASM1

DCR_EP_SHM_KEY = 93360

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 10.10.10.222

DCR_EP_PORT = 9351

DCR_EP_ASM_LOAD_PATH = /dev/raw

[ASM]

DCR_EP_NAME = ASM2

DCR_EP_SHM_KEY = 93361

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 10.10.10.223

DCR_EP_PORT = 9351

DCR_EP_ASM_LOAD_PATH = /dev/raw

[ASM]

DCR_EP_NAME = ASM3

DCR_EP_SHM_KEY = 93362

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 10.10.10.224

DCR_EP_PORT = 9351

DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP]

DCR_GRP_TYPE = DB

DCR_GRP_NAME = DSC

DCR_GRP_N_EP = 3

DCR_GRP_DSKCHK_CNT = 60

[DSC]

DCR_EP_NAME = DSC3

DCR_EP_SEQNO = 0

DCR_EP_PORT = 5237

DCR_CHECK_PORT = 9741

[DSC]

DCR_EP_NAME = DSC4

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5237

DCR_CHECK_PORT = 9741

[DSC]

DCR_EP_NAME = DSC5

DCR_EP_SEQNO = 2

DCR_EP_PORT = 5237

DCR_CHECK_PORT = 9741

8、创建ASM磁盘

使用dmdba用户一个节点执行

标注青绿色的初始化报错时可尝试重新创建

[dmdba@DMDB bin]$ ./dmasmcmd

ASM> create dcrdisk '/dev/raw/raw1' 'dcr'

ASM> create votedisk '/dev/raw/raw2' 'vote'

ASM> create asmdisk '/dev/raw/raw3' 'LOG0'

ASM> create asmdisk '/dev/raw/raw4' 'DATA0'

 

检查

listdisks '/dev/raw/'

 

9、使用dmdcr_dfg.ini配置文件初始化dcrdisk和votedisk

ASM> init dcrdisk '/dev/raw/raw1' from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'

ASM> init votedisk '/dev/raw/raw2' from '/home/dmdba/config/dmdcr_cfg.ini'

 

10、配置ASM的MAL系统配置文件

三个节点都需要配置,内容相同

vim /home/dmdba/config/dmasvrmal.ini

添加以下内容

[MAL_INST1]

MAL_INST_NAME              = ASM1

MAL_HOST                    = 10.10.10.222

MAL_PORT                    = 7236

 

[MAL_INST2]

MAL_INST_NAME              = ASM2

MAL_HOST                    = 10.10.10.223

MAL_PORT                    = 7236

[MAL_INST3]

MAL_INST_NAME              = ASM3

MAL_HOST                    = 10.10.10.224

MAL_PORT                    = 7236

 

11、配置DCR启动配置文件

[dmdba@DMDB bin]$ vim /home/dmdba/config/dmdcr.ini

节点一添加:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 0

#ASM 重启参数,命令行方式启动,注释掉的CMD为注册后修改的启动命令

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc3 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc3 start

[dmdba@DMDB bin]$ vim /home/dmdba/config/dmdcr.ini

节点二添加:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 1

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc4 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc4/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc4 start

[dmdba@DMDB bin]$ vim /home/dmdba/config/dmdcr.ini

节点三添加:

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 2

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/dmasmsvr dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc5 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/dmserver path=/home/dmdba/config/dsc5/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

#DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc5 start

12、启动DMCSS服务

查看防火墙状态:关闭

dmdba

三个节点启动dmcss

[dmdba@DMDB bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini

 

启动后会一直报错,不需要管,因为没初始化实例。后面初始化实例后就正常了

 

 

13、Asm启动后dmdba用户启动dmasmtool工具创建redo日志磁盘组和数据文件磁盘组

一个节点启动即可

[dmdba@DMDB bin]$ ./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini

创建redo日志磁盘组

ASM>create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

创建数据文件磁盘组

ASM>create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

 

ls --查看磁盘组信息是否正确

lsdsk --查看磁盘详细信息

 

 

14、初始化DCS集群数据库实例(生成达梦数据库实例配置文件)

配置dminit控制文件,节点一使用dmdba用户执行以下命令:

[dmdba@DMDB config]$ vim dminit.ini

添加下列内容

db_name = DSC

system_path = +DMDATA/data

system = +DMDATA/data/dsc/system.dbf

system_size = 128

roll = +DMDATA/data/dsc/roll.dbf

roll_size = 128

main = +DMDATA/data/dsc/main.dbf

main_size = 128

ctl_path = +DMDATA/data/dsc/dm.ctl

ctl_size = 8

log_size = 256

dcr_path = /dev/raw/raw1 #dcr 磁盘路径,目前不支持 asm,只能是裸设备

dcr_seqno = 0

auto_overwrite = 1

[DSC3] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /home/dmdba/config/dsc3

port_num = 5236

mal_host = 10.10.10.222

mal_port = 9236

log_path = +DMLOG/log/DSC3_log01.log

log_path = +DMLOG/log/DSC3_log02.log

[DSC4] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /home/dmdba/config/dsc4

port_num = 5236

mal_host = 10.10.10.223

mal_port = 9236

log_path = +DMLOG/log/DSC4_log01.log

log_path = +DMLOG/log/DSC4_log02.log

[DSC5] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path = /home/dmdba/config/dsc5

port_num = 5236

mal_host = 10.10.10.224

mal_port = 9236

log_path = +DMLOG/log/DSC5_log01.log

log_path = +DMLOG/log/DSC5_log02.log

初始化实例,节点一使用dmdba用户执行

[dmdba@DMDB bin]$ ./dminit control=/home/dmdba/config/dminit.ini

15、将对应目录复制到对应节点的指定目录下

 

[dmdba@DMDB config]$ scp -r dsc4 192.168.16.223:/home/dmdba/config/

[dmdba@DMDB config]$ scp -r dsc5 192.168.16.224:/home/dmdba/config/

 

三台台服务的dmcss均正常不报错了(节点45自动拉起的)

 

 

 

16、启动css,asm,server

三个节点都需要

[dmdba@dm2 bin] ./dmcss DCR_INI=/home/dmdba/config/dmdcr.ini --css前面没关它,就不需要重启

[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini --asm这里后台已经全部自动拉起了不需要执行

 

报这个错直接netstat -lnupt| grep 9351后kill即可 (之前启动了asm,占用了端口,再启动就报错)

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini --dmserver服务也都自动拉起了不需要操作

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc4/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc5/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

 

 

17、配置监视器  

228单独服务器

[dmdba@dm1 config]$ vim dmcssm.ini

添加下列内容:

#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致

CSSM_OGUID = 63635

#配置所有 CSS 的连接信息,

#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致

CSSM_CSS_IP = 10.10.10.222:9341

CSSM_CSS_IP = 10.10.10.223:9341

CSSM_CSS_IP = 10.10.10.224:9341

CSSM_LOG_PATH =/home/dmdba/dmdbms/log #监视器日志文件存放路径

CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

18、启动监视器

dmdba用户执行。

[dmdba@dm1 bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

show

 

 

19、注册服务--后台启动

root

节点一:

[root@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc3 -dcr_ini /home/dmdba/config/dmdcr.ini

[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc3 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc3

[root@DMDB root]# ./dm_service_installer.sh -t dmserver -p dsc3 -dm_ini /home/dmdba/config/dsc3/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc3

节点二:

[root@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc4 -dcr_ini /home/dmdba/config/dmdcr.ini

[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc4 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc4

[root@DMDB root]# ./dm_service_installer.sh -t dmserver -p dsc4 -dm_ini /home/dmdba/config/dsc4/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc4

节点三:

[root@DMDB root]# ./dm_service_installer.sh -t dmcss -p dsc5 -dcr_ini /home/dmdba/config/dmdcr.ini

[root@DMDB root]# ./dm_service_installer.sh -t dmasmsvr -p dsc5 -dcr_ini /home/dmdba/config/dmdcr.ini -y DmCSSServicedsc5

[root@DMDB root]# ./dm_service_installer.sh -t dmserver -p dsc5 -dm_ini /home/dmdba/config/dsc5/dm.ini -dcr_ini /home/dmdba/config/dmdcr.ini -y DmASMSvrServicedsc5

修改配置文件:--三个节点都需要

[dmdba@DMDB config]$ vim dmdcr.ini  

 

DMDCR_PATH     = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO   = 0

#ASM 重启参数,命令行方式启动 (注意Servicedsc345还是Servicedsc345)

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /dm8/bin/DmASMSvrServicedsc3 start

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /dm8/bin/DmServicedsc3 start

 

20、启动方式

先启动css-再asm-最后server

[dmdba@DMDB bin]$ ./DmCSSServicedsc3 start

[dmdba@DMDB bin]$ ./DmCSSServicedsc4 start

[dmdba@DMDB bin]$ ./DmCSSServicedsc5 start

 

 

[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmasmsvr DCR_INI=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc3/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc4/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

[dmdba@DMDB bin]$ ./dmserver /home/dmdba/config/dsc5/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

启动监视器,dmdba用户执行。

[dmdba@DMDB bin]$ ./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

 

21、客户端验证

shutdown一个数据库,会被自动拉起重新加入集群

208监控服务器做客户端测试

任意节点配置dm_scv.conf文件

[dmdba@dm1 bin]$ vim /etc/dm_svc.conf

添加:

dmdsc=(192.168.16.222:5237,192.168.16.223:5237,192.168.16.224:5237)

登录数据库验证:

 

关闭222达梦数据库服务

kill -9

 

数据库客户端链接到222服务器的查询会有几秒钟中断,后自动拉起并重新加入集群后就好了

 

后自动拉起并重新加入集群后就好了

 

达梦数据库社区地址:https://eco.dameng.com

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

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

相关文章

如何将PDF转换为Excel?这4个方法请收好

PDF(便携式文档格式)因其安全且易于访问而广泛用于在线共享和存档文档。但是,很多时候您可能需要从 PDF 文档中提取数据以在 Excel 中使用它。这是将 PDF 转换为 Excel 发挥作用的地方。在本文中,我们将探讨将 PDF 文件转换为 Exc…

HarmonyOS学习路之开发篇—Java UI框架(自定义组件与布局 一)

HarmonyOS提供了一套复杂且强大的Java UI框架,其中Component提供内容显示,是界面中所有组件的基类。ComponentContainer作为容器容纳Component或ComponentContainer对象,并对它们进行布局。 Java UI框架也提供了一部分Component和ComponentC…

linux系统总结

linux系统总结: linux系统总结 一、网络:1.七层模型:2.三次握手,四次挥手:3.网络层:ARP,icmp4.总结tcp和udp的不同:5.端口号的作用:6.VRRP的原理:SNAT DNAT7…

论文解读 | 超越人类智慧!类脑多模态混合神经网络助力机器人精准定位

原创 | 文 BFT机器人 01 研究内容 这篇论文的研究内容是基于大脑启发的多模态混合神经网络,用于机器人地点识别。研究人员设计了一个名为NeuroGPR的系统,该系统可以模拟大脑的多模态感知机制,从传统和神经形态传感器中编码和整合多模态线索&a…

消息队列的基本概念

每种消息队列都有自己的一套消息模型,像队列(Queue)、主题(Topic)或是分区(Partition)这些名词概念,在每个消息队列模型中都会涉及一些,含义还不太一样。 为什么出现这种…

1.8C++流提取运算符重载

C流提取运算符重载 在 C中,流提取运算符(>>)是用于从流中提取数据的运算符。 C中的流提取运算符可以被重载,使得程序员可以自定义输入对象的方式,更方便地输入自定义的数据类型,也可以使得输入更加…

阿里云轻量应用服务器和云服务器ECS区别(终于懂了)

阿里云服务器ECS和轻量应用服务器有什么区别?云服务器ECS是明星级云服务器,轻量应用服务器可以理解为简化版的云服务器ECS,轻量适用于单机应用,云服务器ECS适用于集群类高可用高容灾应用,阿里云百科来详细说下阿里云轻…

dbGet 快速学习教程

dbGet是innovus/encounter工具自带的"database access command"命令中的一部分,它几乎可以用来获取设计相关的一切信息。 输入dbGet 按[Tab]键,能看到三个选项,分别是head / top /selected。这三个选项所代表的意义如下: head --…

Vue3对于一个前端来讲意味着什么?

最近很多技术网站,讨论的最多的无非就是Vue3了,大多数都是Composition API和基于Proxy的原理分析。但是今天想着跟大家聊聊,Vue3对于一个低代码平台的前端更深层次意味着什么? 首先,Vue是前端三大主流框架之一&#xf…

python,如何设置定时执行python代码-windows本地

最近写了一个python小程序,希望能每天定时执行,但是又不想用jenkins这样的工具,后来发现windows本地就可以设置,而且很好用,具体步骤如下: 首先,需确保本地python代码已编写好,环境…

c++创建对象常见的坑

c创建对象常见的坑 创建对象的时候不要在对象名后面加空的圆括号,编译器误认为是声明函数。(如果没有构造函数、构造函数没有参数、构造函数的参数都有默认参数)在构造函数名后面加括号和参数不是调用构造函数,是创建匿名对象。以…

【有奖调研】HarmonyOS新物种,鸿蒙流量新阵地——元服务邀你来答题!

“聊技术无话不谈,一起来吹吹元服务!畅聊你对元服务的想法,说不定,你就能撬动元服务的爆发增长!” 元服务(即原子化服务)是华为“轻量化”服务的新物种,可提供全新的服务和交互方式…

人工智能(pytorch)搭建模型12-pytorch搭建BiGRU模型,利用正态分布数据训练该模型

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型12-pytorch搭建BiGRU模型,利用正态分布数据训练该模型。本文将介绍一种基于PyTorch的BiGRU模型应用项目。我们将首先解释BiGRU模型的原理,然后使用PyTorch搭建模型…

uniApp -- 学习笔记(vue3+ts)

uniApp学习笔记目录 一.关于界面节点信息 6月15 一.关于界面节点信息 6月15 uniApp官网介绍 (一) 个人理解是官网返回一个 SelectorQuery 对象实例。 并且可以在这个实例上使用 select 等方法选择节点,并使用 boundingClientRect 等方法选择…

使用 Sharesheet分享Android 应用链接

使用 Sharesheet分享Android 应用链接 使用 Sharesheet 进行丰富的链接共享 Android App Links 允许您的应用程序打开网页链接,而不是使用网络浏览器。处理这些深层链接已在我们的《深层链接入门课程》中介绍过。除了能够打开深层链接外,您的应用程序还…

《Lua程序设计》--学习8

编译,执行和错误 编译 可以认为dofile函数就是这样: loadfile函数从文件中加载Lua代码段,但它不会运行代码,只是编译代码,然乎将编译后的代码段作为一个函数返回 函数loadfile更灵活。在发生错误的情况中&#xff0…

100种思维模型之排列组合思维模型-78

说到模型,一般人会觉得特别难,会觉得是学霸级别的人才能做出来的高科技。 然实际上并不是! 西方人常说Model,模型在西方人眼里是一个非常常见的词。 查理芒格,多元思维模型倡导者和践行者,他说任何能够帮助…

Elasticsearch:实用 BM25 - 第 1 部分:分片如何影响 Elasticsearch 中的相关性评分

作者:Shane Connelly 背景 在 Elasticsearch 5.0 中,我们切换到 Okapi BM25 作为我们的默认相似度算法,这是用于对与查询相关的结果进行评分的算法。 在本博客中,我不会过多地介绍 BM25 与替代措施,但如果你想了解 B…

3天没睡吐血整理,性能测试瓶颈问题+分析,一篇概全...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 如何定位性能瓶颈…

白鲸优化算法优化VMD参数,并提取特征向量,以西储大学数据为例,附MATLAB代码

大家看到这篇文章,肯定会有疑问,难道本篇文章和上一篇文章不是一个意思嘛,这是来凑数的嘛……其实不然,如果各位读者仔细看,就会发现本篇文章和上一篇文章大有不同,这篇文章也是我一直以来想在上一篇文章基…