本文介绍在麒麟v10 SP2下部署磐维数据库分布式版本,主要用于个人学习测试,不能用于生产环境部署。
1.环境准备
操作系统:
- Centos 7.6 x86/arm
- 麒麟v10 SP2 x86/arm
内存:8G~16G
- 操作系统依赖包
yum install -y tar bzip2 bison patch flex libaio-devel ncurses-devel openssl
- 普通用户及组
groupadd dbgrp
useradd panwei -g dbgrp
- 普通用户sudo权限
visudo -f /etc/sudoers
panwei ALL=(ALL) NOPASSWD:ALL
- 普通用户SSH
su - panwei
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
...
防火墙及selinux等策略请参考相关文档
2.上传及解压包
- 使用panwei用户进行如下操作
sudo mkdir -p /data/{soft,package,data}
sudo chown -R panwei: /data/
- 上传安装包并解压:
mv PanWeiDB_V2.0_dist_S3.0.2_B02_x86_64.tar.gz /data/package/
cd /data/package/
tar -xf PanWeiDB_V2.0_dist_S3.0.2_B02_x86_64.tar.gz
tar -xf PanWeiDB_V2.0_dist_S3.0.2_B02_x86_64_om.tar.gz
上面是x86架构的安装包,arm架构替换对应的包名即可。
- 编辑部署yml文件
cat panwei.yml
ha_server:
- ha_server1:
host: x.x.x.x
port: 20001
dcs:
- host: x.x.x.x
port: 2379
gtm:
- gtm1:
host: x.x.x.x
agent_host: x.x.x.x
role: primary
port: 6666
agent_port: 8001
work_dir: /data/data/gtm/gtm1
coordinator:
- cn1:
host: x.x.x.x
agent_host: x.x.x.x
role: primary
port: 5432
agent_port: 8101
work_dir: /data/data/coord/cn1
datanode:
- dn1:
- dn1_1:
host: x.x.x.x
agent_host: x.x.x.x
role: primary
port: 15432
agent_port: 8005
work_dir: /data/data/dn1/dn1_1
env:
cluster_type: multiple-nodes
pkg_path: /data/package
prefix: /data/soft
version: V2.0_dist_S3.0.2_B02
user: panwei
port: 22
third_ssh: false
根据实际环境替换x.x.x.x为本地IP地址。
3.安装数据库
su - panewi
cd /data/package/script/
./ha_ctl install -p /data/package/ -c panwei
安装过程中可以打开另一个会话查看过程日志:
tail -f /tmp/ha_ctl/ha_ctl.log
如果安装有错误,则可以从ha_ctl.log查看详细错误信息。
安装成功的回显信息如下:
{
"ret":0,
"msg":"Success"
}
4.使用集群
- 查看集群状态
/data/package/script/ha_ctl monitor --dcs_url=http://x.x.x.x:2379 --cluster=panwei --humanreadable
回显信息截图如下:
- 连接数据库
gsql -r -p 5432 -U panwei postgres
gsql ((PanWeiDB_V2.0(openGauss)-distributed version-3.0.2_B02 build a91968ef) compiled at 2024-10-30 15:34:45 commit 0 last mr 2820 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
postgres=#
5.调整资源
设置如下单机参数后,停掉集群,再缩小虚拟机内存
max_connections=20
max_prepared_transactions=10
session_timeout = 0
wal_level=hot_standby
wal_keep_segments = 2
checkpoint_segments =2
enable_memory_limit = off
max_process_memory=2GB
shared_buffers = 32MB
cstore_buffers = 16MB
wal_buffers=16MB
comm_usable_memory=128MB
ssl=off
enable_stmt_track=off
instr_unique_sql_count=0
enable_double_write = off
enable_opfusion =off
enable_distribute_deadlock_detect = off
persistent_datanode_connections = off
enable_ustore =off
audit_enabled = off
enable_wdr_snapshot=off
enable_asp=off
enable_instr_rt_percentile=off
use_workload_manager = off
job_queue_processes=0
comm_max_receiver=4
comm_max_stream=4




