【项目实战】记录一次PG数据库迁移至GaussDB测试(上)

news2025/2/27 21:37:06

目录

一、说明

1.1、参考文档

1.2、注意事项

1.3、环境基本情况 

二、GaussDB新环境安装

2.1 配置操作环境变量

2.1.1 关闭防火墙

步骤1 执行以下命令,检查防火墙是否关闭。

步骤2 执行以下命令,关闭防火墙并禁止开机启动。

步骤3 修改/etc/selinux/config文件中的“SELINUX”值为“permissive”。

步骤4 执行以下命令,重新启动操作系统。

2.1.2设置时区

2.1.3 关闭 swap 交换内存

2.1.4 设置网卡 MTU 值

2.1.5 文件句柄设置

2.1.6 系统支持的最大进程数设置

2.1.7 配置时钟源

2.1.8 创建文件目录

2.2 安装GaussDB数据库

1、解压安装文件

2、编辑配置文件

2.3、查看实例状态

三、DRS迁移工具搭建

3.1 系统架构

3.2 部署架构

3.2.1 DRS独立部署

3.2.2 GaussDB轻量化解决方案

​编辑3.3 系统要求

3.3.1 操作系统要求

3.3.2 纳管实例

3.3.3 磁盘空间划分要求

3.3.4 软件要求

3.4 安装GaussDB前提条件

3.5 安装DRS-Service服务

3.6 安装DRS-Node服务


一、说明


1.1、参考文档

GaussDB Installer 1.0.6.1

HCS Data Replicate Software 2.23.07.211 安装指南 01

HCS Data Replicate Software 2.23.07.211 用户指南 01

1.2、注意事项

迁移前,需收集好业务侧所有数据库账号的密码;

正式迁移前,禁止新创建数据库、用户、模式等,如必须创建,务必告之;

正式迁移当天,前后台均需停止大业务操作(如JOB、前台业务等);

1.3、环境基本情况 

 

二、GaussDB新环境安装


2.1 配置操作环境变量


2.1.1 关闭防火墙

需在防火墙关闭的状态下进行安装,关闭防火墙操作步骤如下。

步骤1 执行以下命令,检查防火墙是否关闭。
systemctl status firewalld


● 若防火墙状态显示为active (running),则表示防火墙未关闭,请执行步骤2。

● 若防火墙状态显示为inactive (dead),则表示防火墙已关闭,无需再关闭防火

墙。

步骤2 执行以下命令,关闭防火墙并禁止开机启动。
systemctl stop firewalld
systemctl disable firewalld

步骤3 修改/etc/selinux/config文件中的“SELINUX”值为“permissive”。

说明

一般情况下,开启selinux会提高系统的安全性,但是可能导致程序无法运行。为保证安装顺

利,建议用户设置值为permissive。

1. 使用vim打开config文件。

vim /etc/selinux/config


2. 修改“SELINUX”的值“permissive”,执行:wq保存并退出修改。

SELINUX=permissive

步骤4 执行以下命令,重新启动操作系统。
reboot


2.1.2设置时区

将各主机的字符集设置为相同的字符集。

步骤1 使用vim打开/etc/profile文件。

vim /etc/profile


步骤2 在/etc/profile文件中添加"export.UTF-8"。

步骤3 执行:wq保存并退出修改。

2.1.3 关闭 swap 交换内存

swapoff -a


2.1.4 设置网卡 MTU 值

将各主机的网卡MTU值设置为相同大小。万兆网卡MTU值推荐8192(ARM),1500(X86),要求不小于1500。设置之后确保各节点之间可以在新的MTU值下通过SSH连接,并且可以通过scp传输文件的大小应

大于原MTU值的文件。

ifconfig enp1s0f0 mtu 8192

ifconfig enp1s0f1 mtu 8192

ifconfig enp2s0f0 mtu 8192

ifconfig enp2s0f1 mtu 8192

ifconfig bond1 mtu 8192

ifconfig | grep RUNNING


2.1.5 文件句柄设置

echo "* soft nofile 1000000" >>/etc/security/limits.conf

echo "* hard nofile 1000000" >>/etc/security/limits.conf


2.1.6 系统支持的最大进程数设置

系统支持的最大进程数设置

步骤1 执行如下命令,打开conf文件。

vim /etc/security/limits.d/90-nproc.conf


步骤2 修改* soft nproc参数。

步骤3 执行如下命令,需重启操作系统使得设置的参数生效。

reboot

----结束

2.1.7 配置时钟源

配置NTP时钟源前,确保您拥有所有机器的root用户权限。

步骤1 执行以下命令,在每台机器上通过YUM包管理器安装 NTP。

yum install ntp ntpdate -y


步骤2 配置 ntp.conf 文件,配置前做好备份。

【NTP服务器的搭建】

[root@xxx /]# vim /etc/ntp.conf

restrict default ignore

restrict 127.0.0.1

restrict 10.8.2.0 mask 255.255.0.0

driftfile /var/lib/ntp/drift

pidfile /var/run/ntpd.pid

#logfile /var/log/ntp.log

# local clock

server 127.127.1.0

fudge 127.127.1.0 stratum 10


【NTP客户端的搭建】

[root@xxx /]# vim /etc/ntp.conf

restrict default ignore

restrict 127.X.X.1

restrict 192.X.X.0 mask 255.255.0.0

driftfile /var/lib/ntp/drift

pidfile /var/run/ntpd.pid

#logfile /var/log/ntp.log

# local clock

server 192.X.X.X iburst minpoll 4 maxpoll 6

fudge 192.X.X.X stratum 10

Vi /etc/ntpd.conf


末尾追加

server 10.234.8.14


步骤3 执行以下命令,重启 NTP 同步服务。

systemctl restart ntpd

systemctl status ntpd


步骤4 执行以下命令,检查 NTP 同步状态。

ntpq -p


2.1.8 创建文件目录

mkdir /GaussDB/cluster/data/data1

mkdir /GaussDB/cluster/data/data2

mkdir /GaussDB/cluster/data/data3

mkdir /GaussDB/cluster/data/data4


2.2 安装GaussDB数据库


注:GaussDB分布式数据库环境为3个节点安装

1、解压安装文件

mkdir /data

tar -xvf /opt/GaussDBInstaller_1.0.6.1_20230726111747.tar.gz -C /data

tar -xvf /opt/GaussDB_ARM_Kylinv10_Distributed_2.23.01.230_20230705094619.tar.gz -C /data/GaussDBInstaller/pkgDir


2、编辑配置文件

Vim install_cluster.conf

[COMMON]

os_user = omm

os_user_group = ${os_user}

os_user_home = /home/${os_user}

os_user_passwd = Gauss_246

root_passwd = Huawei@123

ssh_port = 22

node_ip_list = 10.11.9.49,10.11.9.50,10.11.9.51

[OMAGENT]

gauss_home = /GaussDB/cluster/

om_agent_port = 30170

mgr_net = bond1

data_net = bond1

virtual_net = bond1

log_dir = ${gauss_home}/logs/gaussdb

cn_dir = ${gauss_home}/data/cn

gtm_dir = ${gauss_home}/data/gtm

cm_dir = ${gauss_home}/data/cm

tmp_dir = ${gauss_home}/temp

data_dir = ${gauss_home}/data/data1/dn,${gauss_home}/data/data2/dn,${gauss_home}/data/data3/dn

tool_dir = ${gauss_home}/tools

etcd_dir = ${gauss_home}/data/etcd


编辑安装json文件

{

"rdsAdminUser":"rdsAdmin",

"rdsAdminPasswd":"Gauss_123",

"rdsMetricUser":"rdsMetric",

"rdsMetricPasswd":"huawei@123Pwd",

"rdsReplUser":"rdsRepl",

"rdsReplPasswd":"huawei@123Pwd",

"rdsBackupUser":"rdsBackup",

"rdsBackupPasswd":"huawei@123Pwd",

"dbPort":"15432",

"dbUser":"root",

"dbUserPasswd":"huawei@123Pwd",

"clusterMode":"combined",

"params":{

"enable_thread_pool":"on",

"enable_bbox_dump":"on",

"bbox_dump_path":"/home/core"

},

"cnParams":{

},

"dnParams":{

},

"cmParams":{

},

"clusterConf":{

"clusterName":"Gauss_Dis_2",

"encoding": "utf8",

"shardingNum": 3,

"replicaNum": 3,

"solution":"hws",

"cm":[

{

"rack": "gauss001",

"az": "AZ1",

"ip": "10.11.9.49",

"dataIp":"10.11.9.49",

"virtualIp":"10.11.9.49"

},

{

"rack": "gauss002",

"az": "AZ2",

"ip": "10.11.9.50",

"dataIp":"10.11.9.50",

"virtualIp":"10.11.9.50"

},

{

"rack": "gauss003",

"az": "AZ3",

"ip": "10.11.9.51",

"dataIp":"10.11.9.51",

"virtualIp":"10.11.9.51"

}

],

"cn":[

{

"rack": "gauss001",

"az": "AZ1",

"ip": "10.11.9.49",

"dataIp":"10.11.9.49",

"virtualIp":"10.11.9.49"

},

{

"rack": "gauss002",

"az": "AZ2",

"ip": "10.11.9.50",

"dataIp":"10.11.9.50",

"virtualIp":"10.11.9.50"

},

{

"rack": "gauss003",

"az": "AZ3",

"ip": "10.11.9.51",

"dataIp":"10.11.9.51",

"virtualIp":"10.11.9.51"

}

],

"gtm":[

{

"rack": "gauss001",

"az": "AZ1",

"ip": "10.11.9.49",

"dataIp":"10.11.9.49",

"virtualIp":"10.11.9.49"

},

{

"rack": "gauss002",

"az": "AZ2",

"ip": "10.11.9.50",

"dataIp":"10.11.9.50",

"virtualIp":"10.11.9.50"

},

{

"rack": "gauss003",

"az": "AZ3",

"ip": "10.11.9.51",

"dataIp":"10.11.9.51",

"virtualIp":"10.11.9.51"

}

],

"shards":[

[

{

"rack": "gauss001",

"az": "AZ1",

"ip": "10.11.9.49",

"dataIp":"10.11.9.49",

"virtualIp":"10.11.9.49"

},

{

"rack": "gauss002",

"az": "AZ2",

"ip": "10.11.9.50",

"dataIp":"10.11.9.50",

"virtualIp":"10.11.9.50"

},

{

"rack": "gauss003",

"az": "AZ3",

"ip": "10.11.9.51",

"dataIp":"10.11.9.51",

"virtualIp":"10.11.9.51"

}

],

[

{

"rack": "gauss002",

"az": "AZ2",

"ip": "10.11.9.50",

"dataIp":"10.11.9.50",

"virtualIp":"10.11.9.50"

},

{

"rack": "gauss001",

"az": "AZ1",

"ip": "10.11.9.49",

"dataIp":"10.11.9.49",

"virtualIp":"10.11.9.49"

},

{

"rack": "gauss003",

"az": "AZ3",

"ip": "10.11.9.51",

"dataIp":"10.11.9.51",

"virtualIp":"10.11.9.51"

}

],

[

{

"rack": "gauss003",

"az": "AZ3",

"ip": "10.11.9.51",

"dataIp":"10.11.9.51",

"virtualIp":"10.11.9.51"

},

{

"rack": "gauss002",

"az": "AZ2",

"ip": "10.11.9.50",

"dataIp":"10.11.9.50",

"virtualIp":"10.11.9.50"

},

{

"rack": "gauss001",

"az": "AZ1",

"ip": "10.11.9.49",

"dataIp":"10.11.9.49",

"virtualIp":"10.11.9.49"

}

]

],

"etcd":{

"nodes":[

{

"rack": "gauss001",

"az": "AZ1",

"ip": "10.11.9.49",

"dataIp":"10.11.9.49",

"virtualIp":"10.11.9.49"

},

{

"rack": "gauss002",

"az": "AZ2",

"ip": "10.11.9.50",

"dataIp":"10.11.9.50",

"virtualIp":"10.11.9.50"

},

{

"rack": "gauss003",

"az": "AZ3",

"ip": "10.11.9.51",

"dataIp":"10.11.9.51",

"virtualIp":"10.11.9.51"

}

]

}

}

} 

安装包配置完成后检查

在开始执行安装之前,执行以下命令,查看脚本解压后的目录GaussDBInstaller下的文

件。

ll /data/GaussDBInstaller


如图需要确保有如下文件:

● gaussdb_install.py

● install_cluster.sh

● install_cluster.conf

● install_cluster.json

开始安装

步骤1 执行以下命令,进入到解压后的目录。

cd /data/GaussDBInstaller


步骤2 执行以下命令,进行安装。

python3 gaussdb_install.py --action main


2.3、查看实例状态


查看实例状态

步骤1 执行以下命令,切换用户。

su - omm

步骤2 执行以下命令,进入到用户目录。

cd /home/omm

步骤3 执行以下命令,导入环境变量。

source ~/gauss_env_file

步骤4 执行以下命令,查看集群状态。

cm_ctl query -Cvipd


三、DRS迁移工具搭建


3.1 系统架构


DRS基于B/S架构开发,主要由DRS-Service,DRS-Node,元数据库GaussDB,Monitor-Agent组成。

DRS-Service:管理DRS-Node节点,提供WEB服务和控制台页面。

元数据库GaussDB:DRS业务数据库,负责存储DRS运行过程中产生的业务数据。

DRS-Node:可在DRS-Node上创建运行DRS同步任务,DRS-Node节点可以横向扩展。

Monitor-Agent:负责监控DRS-Service节点与元数据库GaussDB节点的性能指标并上报。

DRS系统架构

3.2 部署架构


3.2.1 DRS独立部署

DRS支持将DRS-Service,元数据库GaussDB,DRS-Node,Monitor-Agent部署在同一节点上,机器规格详见表1-1,部署架构图见图1-2。

功能调测规格

3.2.2 GaussDB轻量化解决方案

在GaussDB轻量化场景下,DRS属于GaussDB轻量化解决方案的一部分,此章节仅介绍DRS在该场景下的部署架构,安装部署方式参考 4 安装DRS(多节点部署)。

GaussDB轻量化单DC场景下DRS部署架构图

3.3 系统要求


3.3.1 操作系统要求

安装DRS的操作系统要求如下表1-6所示:

支持的操作系统及相应安装包

3.3.2 纳管实例

根据纳管实例占用CPU和内存资源的不同,换算最多支持纳管实例或节点数如下表1-7所示:

纳管实例或节点数

3.3.3 磁盘空间划分要求

安装DRS各节点的磁盘空间划分要求如下表所示:

DRS-Gaussdb元数据库

DRS-Node

DRS-Service

 单个任务所需机器配置

注:

建议 DRS-GaussDB元数据库,DRS-Servcie,DRS-Node的每个挂载点单独挂盘。

若DRS-Service所有路径规划在同一个磁盘分区,总计需要800GB空闲空间。

4U8G加500G磁盘空间的机器可创建一个任务、若增加创建任务数量,需满足CPU、内存、磁盘空间三者同步增加。

3.3.4 软件要求

安装DRS的软件要求如下表所示:

DRS软件要求 

3.4 安装GaussDB
前提条件

此处的GaussDB是作为DRS的中间库使用,禁止和其他GaussDB数据库混用。GaussDB不能安装在/drs目录下,会有文件属主权限冲突。

安装步骤:

以root用户登录任意一台待安装GaussDB的服务器。

执行以下命令,查看系统是X86还是ARM架构以及操作系统。

uname -a


回显信息为aarch,则系统为ARM架构。

回显信息为X86,则系统为X86架构。

cat /etc/os-release


回显信息名称,Kylin则为麒麟操作系统。

回显信息名称,UnionTech则为统信操作系统。

执行以下命令,创建gauss文件夹。

mkdir -p /root/package/gauss


根据步骤2中系统类型,上传对应GaussDB软件包和安装包到/root/package/gauss文件夹中。

X86架构:

GaussDBInstaller_x.x.x.x.tar.gz -----安装包

GaussDB_X86_Kylinv10_x.x.x.x.tar.gz -----X86麒麟环境软件包

GaussDB_X86_UnionTech20_x.x.x.x.tar.gz -----X86统信环境软件包

ARM架构:

GaussDBInstaller.tar_x.x.x.x.gz -----安装包

GaussDB_ARM_Kylinv10_x.x.x.x.tar.gz -----ARM麒麟环境软件包

GaussDB_ARM_UnionTech20_x.x.x.x.tar.gz ------ ARM统信环境软件包

执行以下命令,进入目录。

cd /root/package/gauss


执行以下命令,解压安装脚本。

tar -xvf GaussDBInstaller_*.tar.gz -C /data


此处以解压到/data目录下为例。

执行以下命令,解压软件包。

X86架构:

tar -xf GaussDB_X86_Kylinv10_Centralized_*.tar.gz


ARM架构:

tar -xf GaussDB_ARM_Kylinv10_Centralized_*.tar.gz


解压后得到所需的软件包,此处截图为麒麟X86集中式安装包作为安装示例。

执行以下命令,将解压后的3个软件包复制到/data/GaussDBInstaller/pkgDir目录下。

cp /root/package/gauss/DBS-GaussDB-Adaptor*.tar.gz /data/GaussDBInstaller/pkgDir

cp /root/package/gauss/GaussDB-Kernel*.tar.gz /data/GaussDBInstaller/pkgDir

ll /data/GaussDBInstaller/pkgDir

执行如下命令,配置install_cluster.conf文件。

vim /data/GaussDBInstaller/install_cluster.conf

执行如下命令,查看安装脚本内容。

ll /data/GaussDBInstaller

ll /data/GaussDBInstaller/jsonFileSample/ 

拷贝json文件到脚本解压后的目录GaussDBInstaller下。

单节点部署:

cp /data/GaussDBInstaller/jsonFileSample/1_node.json /data/GaussDBInstaller/install_cluster.json


配置install_cluster.json 文件,此处以单节点部署配置文件为例。

vim /data/GaussDBInstaller/install_cluster.json

进入安装目录,执行脚本开始安装

cd /data/GaussDBInstaller

python3 gaussdb_install.py --action main


安装完成后,执行以下步骤检查安装是否成功。

检查回显的安装日志:installCluster installation is successful. 则代表元数据库GaussDB数据库安装成功。

安装完成后,可通过命令切换用户,本地登录检查元数据库是否安装成功。其中omm为GaussDB的OS用户,15432为端口号

su - omm

gsql -d postgres -h 127.0.0.1 -U root -p 15432

# gsql -d postgres -h 127.0.0.1 -U root -p 15432
Password for user root: # 请输入root用户密码
gsql ((GaussDB Kernel V500R002C10 build c3db7c07) compiled at 2022-09-24 21:19:15 commit 3864 last mr 8636 release)
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
Type "help" for help.

openGauss=> select version(); # 查询版本 version
openGauss=>\q # 退出


安装后配置

在安装完GaussDB数据库后,需检查待安装节点是否能够正常连接GaussDB,如果连接失败,需修改pg_hba.conf配置文件。

执行以下命令,检查待安装节点是否能够正常连接GaussDB。

gsql -d postgres -h[GaussDB 节点IP] -U root -p 30100

如果连接失败,执行步骤2修改pg_hba.conf配置文件。

如果连接成功,则无需执行后续配置操作。

以root用户登录GaussDB部署节点,执行以下命令打开pg_hba.conf配置文件,其中[]中内容需要实际情况修改。

vim /data/cluster/data/dn/dn_[xxx]/pg_hba.conf

注释掉这条记录。

#host all all [GaussDB 节点IP]/32 trust
#host all all 0.0.0.0/0 sha256

加入DRS-Service服务全部节点的IP地址及DRS-Node服务全部节点的IP地址。

host all all [DRS-Service服务节点IP]/32 sha256
host all all [DRS-Node服务节点IP]/32 sha256

通过以下方法,使修改生效,优先选择方法一。

方法一:

登录数据库,切换到omm用户。omm为GaussDB的OS用户(步骤9中的os_user),需根据实际情况进行替换。

执行以下命令并退出。

gaussdb=# select * from pg_reload_conf();

方法二:

执行以下命令,重启GaussDB节点,其中omm为GaussDB的OS用户(步骤9中的os_user),需根据实际情况进行替换。

dn_data=`ls /data/cluster/data/dn`

su - omm -c "source ~/gauss_env_file;gs_ctl restart -D /data/cluster/data/dn/${dn_data} -M primary"

当显示如下日志“server started”,则代表GaussDB数据库重启成功。

[2023-03-19 00:47:54.959][64079][][gs_ctl]: done
[2023-03-19 00:47:54.959][64079][][gs_ctl]: server started (/data/cluster/data/dn/dn_6001)

执行以下命令,切换用户。其中omm为GaussDB的OS用户(步骤9中的os_user),需根据实际情况进行替换。

su omm

再次执行以下命令,连接GaussDB数据库。

gsql -d postgres -h[GaussDB 节点IP] -U root -p 30100

回显如下,则代表连接GaussDB数据库成功。

Password for user root: # 请输入root用户密码
gsql ((GaussDB Kernel V500R002C10 build c3db7c07) compiled at 2022-09-24 21:19:15 commit 3864 last mr 8636 release)
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
Type "help" for help.

----结束

3.5 安装DRS-Service服务

操作场景

DRS-Service服务运行依赖GaussDB库,需要确保上一步骤环境安装成功。

DRS-Service服务部署需要输入内网IP地址,需要提前获取内网IP地址。

操作步骤

以root用户登录待安装DRS的服务器,执行以下命令,创建package文件夹。

mkdir -p /root/package

将DRS-Service软件包上传到/root/package文件夹中。

tar -xzf DRS-Service-*.tar.gz

cd DRS-Service-*

vim install.conf

[meta db]
metaDB_engine = gaussdb
metaDB_address = 127.0.0.1:30100 # 元数据库IP地址,多IP地址可用逗号分隔
metaDB_root_user = root # 元数据库用户名
metaDB_root_password = # 元数据库密码
metaDB_drs_user = drs # 元数据库DRS用户名
metaDB_drs_password = # 元数据库DRS密码
[drs]
external_ip = 10.11.9.48 # 本机内网IP地址
external_port = 7443 # service服务端口,默认7443
drs_admin_username = admin # DRS管理帐户名
drs_admin_password = # DRS管理帐户密码
ca_phrase = ${drs_admin_password} # https自动生成证书密码,默认与管理帐户密码一致,也可自行配置
# deploy mode: ha/independent
deploy_scene = independent # 部署场景
# node role when deploy_scene is ha: primary/standby
node_type = primary # 部署节点角色,默认请填写primary
#config cgroup
use_cgroup = no # 是否使用cgroup限制资源(轻量化单DC标准场景,DRS管理面与TPOPS使用三台物理机进行高可用部署:使用cgroup限制GaussDB及DRS管理面cpu、memory 资源,配置为yes;其余场景配置为no) 

 安装前环境预检查,执行以下命令,检查安装环境。

sh precheck_env.sh

回显信息如下:

================== START TO PRECHECK ENVIRONMENT ====================
Item1: User Check
User is root
User Check Pass!

Item2: Hardware Check
cpu_num is 32U
memory_capacity is 61G
Hardware Check Complete!

Item3: Openssl Check
OpenSSL 1.1.1f 31 Mar 2020
Openssl Check Pass!
=================== PRECHECK RESULT=====================
Item Actual/Recommand
1.User Check: Pass/Pass #检查项1:安装用户检查,要求root用户,安装必要条件
2.Hardware Check: #检查项2:机器规格检查,建议8U16G,非必要条件
CPU Check: 32U/8U
Memory Check: 61G/16G
3.Openssl Check: Pass/Pass #检查项3:openssl开启检查,要求开启,安装必要条件
=================== PRECHECK END =======================
[2023-08-01 11:12:54][root][INFO] --- Precheck environment success.
[2023-08-01 11:12:54][root][INFO] --- Precheck begin.
[2023-08-01 11:12:54][root][INFO] --- Check drs_service success
[2023-08-01 11:12:54][root][INFO] --- Precheck success.

检查项说明

执行以下命令,运行安装脚本。

sh install.sh


安装完成后,可通过在浏览器打开回显IP地址验证DRS-Service是否安装成功。

3.6 安装DRS-Node服务

操作场景

DRS-Node服务运行依赖元数据库GaussDB、DRS-Service服务部署,需要确保上一步骤安装成功。

操作步骤

以root用户登录待安装DRS的服务器。将DRS-Node软件包上传到/root/package文件夹中。

执行以下命令,进入目录。

cd /root/package

执行以下命令,解压并进入DRS-Node文件夹,其中DRS-Node-*版本号以实际为准。

tar -xzf DRS-Node-*.tar.gz

cd DRS-Node-*

执行如下命令,配置install.conf文件。

vim install.conf

[meta db]
metaDB_engine = gaussdb
metaDB_address = 127.0.0.1:30100 # 元数据库IP地址,多IP地址可用逗号分隔
metaDB_drs_user = drs # 元数据库DRS用户名
metaDB_drs_password = # 元数据库DRS密码
metaDB_database = drs # 元数据库database

[drs]
node_ip = 10.11.9.48 # 节点IP地址
node_maxJobCount =

[system]
swap_space = 2G # swap分区大小

安装前环境预检查。执行以下命令,检查安装环境。

sh precheck_env.sh

检查项说明

执行以下命令,运行安装脚本。

sh install.sh

打开浏览器页面,单击创建任务,DRS-Node服务启动后,将在任务可用IP地址分配给安装时填写的Node IP。如果未显示,最多请等待1分钟,DRS-Node服务将完成初始化并启动,如图所示。

任务基本信息

每篇就分享到这里啦,下一篇将继续分享迁移前操作、 DRS迁移数据、迁移后一致性检查、问题总结及解决方法,欢迎收看。

欢迎小伙伴们交流~

本文作者

本文内容来自于从事数据库运维的subverter老师,先后就职于互联网企业和能源企业,拥有9年的数据库开发和管理经验,擅长主流数据库的运维开发、备份恢复、安装迁移、故障处置、性能优化等,随着国产数据库的崛起,对华为的GaussDB系列数据库进行了深入学习,目前针对主流数据库迁入GaussDB数据库积攒了大量案例,同时希望以后再接再厉,为国产信创版块贡献绵薄之力。

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

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

相关文章

济南大学微软校区教室OLED透明屏项目报告

济南大学微软校区教室OLED透明屏项目报告 产品:55寸OLED透明屏 项目时间:2024年04月 项目地点:山东济南 一、项目概述 本次项目旨在为济南大学微软校区的教室配备先进的55寸OLED透明屏,以满足现代化教学需求,提升教学…

虹科Pico汽车示波器 | 免拆诊断案例 | 2016款保时捷911 GT3 RS车发动机异响

一、故障现象 一辆2016款保时捷911 GT3 RS车,搭载4.0 L水平对置发动机(型号为MA176),累计行驶里程约为4.2万km。车主反映,1星期前上过赛道,现在发动机有“哒哒”异响。 二、故障诊断 接车后试车&#xff…

Vue3 + Element-Plus 使用 Table 预览图片发生元素遮挡

Vue3 Element-Plus 使用 Table 预览图片发生元素遮挡 问题代码问题重现解决方法最终效果 问题代码 <el-table-column label"视频" align"center"><template #default"scope" style"display: flex;"><div style"…

Keepalived+LVS+nginx搭建nginx高可用集群

一、简介 nginx是一款非常优秀的反向代理工具&#xff0c;支持请求分发&#xff0c;负载均衡&#xff0c;以及缓存等等非常实用的功能。在请求处理上&#xff0c;nginx采用的是epoll模型&#xff0c;这是一种基于事件监听的模型&#xff0c;因而其具备非常高效的请求处理效率…

Qt 4 QPushButton

Qt 常用控件 QPushButton 实例 Push Button:命令按钮。 入口文件 main.cpp #include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;w.show();return a.exec(); }头文件 mainwindow.h …

【C 数据结构】单链表

文章目录 【 1. 基本原理 】1.1 链表的节点1.2 头指针、头节点、首元节点 【 2. 链表的创建 】2.0 创建1个空链表&#xff08;仅有头节点&#xff09;2.1 创建单链表&#xff08;头插入法&#xff09;*2.2 创建单链表&#xff08;尾插入法&#xff09; 【 3. 链表插入元素 】【…

rabbitmq每小时自动重启

引言 找了半天&#xff0c;最后通过系统日志发现是因为执行 systemctl restart rabbitmq-server 命令无法返回回调 systemctl 导致超时&#xff0c;自动关机。怀疑是 rabbitmq 与 systemctl 冲突&#xff0c;后 mq 升级版本已修复&#xff0c;可参考&#xff1a;https://github…

golang-基础语法

make 和 new 的区别 make 和 new 都是用来分配内存 make 只能对 slice map channel 进行初始化结构体实例。new 可以对任意类型进行初始化make 用于分配数据对象的具体实例&#xff0c;new 用于分配数据类型的默认值&#xff0c;并返回该数据的指针。 new 出来的 slice 、ma…

springboot Logback 不同环境,配置不同的日志输出路径

1.背景&#xff1a; mac 笔记本开发&#xff0c;日志文件写到/data/logs/下&#xff0c;控制台报出&#xff1a;Failed to create parent directories for [/data/logs/........... 再去手动在命令窗口创建文件夹data&#xff0c;报Read-only file system 2.修改logback-spri…

(C++) 稀疏表Sparse Table

目录 一、介绍 1.1 倍增 1.2 稀疏表ST 二、原理 三、代码实现 3.1 创建稀疏表 3.2 初始化数值 3.3 ST查询 一、介绍 1.1 倍增 倍增的思想是在数据空间特别大的时候&#xff0c;快速进行查找搜索而使用的。例如想要在一个数据量为n的递增数组中查找到等于x的下标&#x…

算法|基础算法|高精度算法

基础算法|位运算 1.高精度加法 2.高精度减法 3.高精度乘法 4.高精度除法 心有猛虎&#xff0c;细嗅蔷薇。你好朋友&#xff0c;这里是锅巴的C\C学习笔记&#xff0c;常言道&#xff0c;不积跬步无以至千里&#xff0c;希望有朝一日我们积累的滴水可以击穿顽石。 高精度加法 …

图灵奖得主AviWigderson:随机性与AI深度融合,引领计算科学新篇章

近日&#xff0c;理论计算机科学领域的杰出代表Avi Wigderson教授荣获了享有“计算机界诺贝尔奖”美誉的图灵奖&#xff0c;以表彰他对计算中随机性和伪随机性研究的杰出贡献。这一荣誉不仅彰显了Wigderson教授在计算理论领域的卓越成就&#xff0c;也为当前热门的AI和深度学习…

打破常规,重新定义PMP备考之路

今天我想和大家聊聊一个我们都不陌生的话题——PMP备考。你是不是也在备考的苦海中挣扎&#xff0c;或是听说过各种“速成”的神话&#xff1f;&#x1f914; 最近读到一篇文章&#xff08;来着圣略PMP培训讲师老杨&#xff09;&#xff0c;让我对PMP备考有了新的认识。原来&a…

如何用flutter写一个好的登录页面

编写一个好的登录页面是构建用户友好且安全的移动应用的重要一步。下面是使用Flutter编写一个好的登录页面的一些建议和步骤&#xff1a; 1. 设计用户界面 1.简洁明了的布局&#xff1a;确保界面简洁明了&#xff0c;不要过分复杂&#xff0c;避免用户感到困惑。 2.清晰的输入框…

1、IPEX-LLM(原名BigDL-LLM)环境配置

IPEX-LLM 是一个为Intel XPU (包括CPU和GPU) 打造的轻量级大语言模型加速库&#xff0c;在Intel平台上具有广泛的模型支持、最低的延迟和最小的内存占用。 您可以使用 IPEX-LLM 运行任何 PyTorch 模型&#xff08;例如 HuggingFace transformers 模型&#xff09;。在运行过程中…

Redis的IO模型 和 多线程问题

Redis中的线程和IO模型 什么是Reactor模式 &#xff1f;单线程Reactor模式流程单线程Reactor&#xff0c;工作者线程池多Reactor线程模式 Redis中的线程和IO概述socketI/O多路复用程序文件事件分派器文件事件处理器文件事件的类型总结 多线程问题1. Redis6.0之前的版本真的是单…

05节-51单片机-模块化编程

1.两种编程方式的对比 传统方式编程&#xff1a; 所有的函数均放在main.c里&#xff0c;若使用的模块比较多&#xff0c;则一个文件内会有很多的代码&#xff0c;不利于代码的组织和管理&#xff0c;而且很影响编程者的思路 模块化编程&#xff1a; 把各个模块的代码放在不同的…

学习java时候的笔记(十六)

常用API Math 是一个帮助我们用于进行数学计算的工具类 Math中常用的方法 方法名说明abs(int a)获取参数的绝对值abs(-1) > 1ceil(double b)向上取整1.1 > 2floor(double b)向下取整1.7>1round(float a)四舍五入max(int a, int b)取两个整数的最大值max(2,3) >…

LeetCode-924. 尽量减少恶意软件的传播【深度优先搜索 广度优先搜索 并查集 图 哈希表】

LeetCode-924. 尽量减少恶意软件的传播【深度优先搜索 广度优先搜索 并查集 图 哈希表】 题目描述&#xff1a;解题思路一&#xff1a;解题思路二&#xff1a;0解题思路三&#xff1a;0 题目描述&#xff1a; 给出了一个由 n 个节点组成的网络&#xff0c;用 n n 个邻接矩阵图…

02_对象树

#include "mypushbutton.h" #include <QDebug>MyPushButton::MyPushButton(QWidget *parent): QPushButton(parent) {qDebug()<<"我的按钮类构造调用"; }MyPushButton::~MyPushButton() {qDebug()<<"我的按钮类析构调用"; }交…