Gaussdb

分类

gaussdb  a olap

gaussdb t oltp  

分布式数据库,支持x86和Kunpeng硬件架构


架构支持

单机 主备 分布式



CN(Coordinator Node):

负责接收来自应用的访问请求,并向客户端返回执行结果;负责分解任务,并调度任务分片在各DN上并行执行。

DN(Database Node):

数据库核心组件,提供数据查询和数据存储能力;

CM(Cluster Manager):

集群管理,管理和监控分布式系统中各个功能单元和物理资源运行情况,确保整个系统稳定运行;

OM(Operation Manager):

工具和命令集,提供日常运维、备份、配置、监控等管理结构和工具链;

DM(Database Manager):

图形化运维入口,提供丰富的图形化运维管理功能;

DT(Developer Tools):

开发工具,Data Studio(DS)SQL图形化开发工具;

数据迁移工具,提供离线、在线等多种数据迁移方案;


单机版


内核参数

参数名称参数说明建议值

kernel.sem 通过sem 内核参数来制定各个信号量参数值50100 128256000

50100 2560

net.core.netdev max_backlog 指定接收器积压队列的大小,如果接口接收的数据包速

度超过内核可以处理的数据包,则使用该参数。

1000

net.ipv4.tcp_max_syn_backlog 指定SYN允许的来完成请求数2048

kernel.core_pattern core文件生成/corefile/core-%e-%p-%t

kernel.core_uses_pid core文件生成1

kernel.shmmni 共享内存段的最大数量4096

net.ipv4.ip_local_port_range 在数据库专用服务器进程启动时,会被分配一个I端口,

用来与用户进程通信。

9000 65500

net.core.rmem_default 用于设置socket数据接收缓冲区的默认值大小。262144

net.core.wmem_default 用于设置socket数据发送缓冲区的默认值大小。262144

net.core.rmem_max 用于设置socket数据接收缓冲区的最大大小。4194304

net.core.wmem_max 用于设置socket数据发送缓冲区的最大大小1048576

fs.aio-max-nr 同时可以拥有的异步IO请求数目1048576

fs.file-max 最大打开文件句柄数6815744


用户、组以及软件包目录:

创建用户组用户、设置用户密码


groupadd dbgrpuseradd -g dbgrp -d /home/omm -m -s /bin/bash omm

passwd omm

创建软件包目录


mkdir -p /opt/software/gaussdb

Gaussdb软件、数据目录


/opt/gaussdb

/opt/gaussdb/app

/opt/gaussdb/data

##由安装时指定,脚本自动创建此目录

环境变量


$ cat .bashrc

# .bashrc

………..

export GSDB_HOME="/opt/gaussdb/app"

export PATH="/opt/gaussdb/app/bin":$PATH

export LD_LIBRARY_PATH="/opt/gaussdb/app/lib":"/opt/gaussdb/app/add-ons":$LD_LIBRARY_PATH

export GSDB_DATA="/opt/gaussdb/


软件包解压与安装

软件包解压:


cd /opt/software/gaussdb/

tar -zxvf GaussDB_100_1.0.1-REDHAT7.5-X86.tar.gz

tar -zxvf GaussDB_100_1.0.1-CLUSTER-REDHAT7.5-64bit.tar.gz

tar -zxvf GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz

cd GaussDB_100_1.0.1-DATABASE-REDHAT-64bit

软件安装:


# python install.py -U omm:dbgrp -R /opt/gaussdb/app -D /opt/gaussdb/data -C

LSNR_ADDR=127.0.0.1,192.168.XXX.XX -C LSNR_PORT=1888





启动与登录数据库

启动数据库

登录数据库

# su – omm


检查数据库状态(默认安装后自动启动数据库到open状态)

cd /opt/gaussdb/app/bin/

python zctl.py -t status

python zctl.py -t start

zsql SYS/xxxxxx@127.0.0.1:1888

zsql SYS/xxxxxx@192.168.xxx.xx:1888

zsql / as sysdba -q

修改数据库管理员用户sys默认

 


ALTER USER SYS IDENTIFIED BY xxxx REPLACE xxxxx;

查询数据库、版本和默认用户信息

视图dv_database



GaussDB 以线程服务器模式运行

在启动日志中可以清晰的看到线程启动的顺序,GaussDB缺省启

动8 个DBWR 线程:


启动状态比oracle 多一个restricted状态,限制用户连接

zengine nomount-D /opt/gaussdb

 zengine mount -D /opt/gaussdb/

 zengine

 zengine open

zengine open -D /opt/gaussdb


查看动态视图


dv_dynamic_views

查看视图


db_views adm_views


集群安装


su - omm

cd /opt/software/gaussdb/script

./gs_install -X /opt/software/gaussdb/clusterconfig.xml


将原来主机角色降级为备机角色:


SQL> alter database convert to physical standby;

备机发起switchover切换:


alter database switchover;


查看集群状态:


gs_om -t status

• 执行停止集群命令:


gs_om -t stop

• 执行启动集群命令:


gs_om -t start

• 执行启动AZ命令:


gs_om -t start --az=AZ1

• 执行启动etcd命令:


gs_om -t start etcd -l /opt/gaussdb/log/omm/etcd20302.log

• 执行停止etcd命令:


gs_om -t stop etcd -l /opt/gaussdb/log/omm/etcd20302.log


分布式架构

执行主备切换命令:

gs_om -t switch -h gaussdb13 -I DB1_1