一、安装环境准备
1、部署架构规划

GaussDB 100单机部署的总体架构如上图,DM、CM、ETCD在单机部署中是非必要组件,因此本次不部署,DN节点规划如下:

注:数据目录需要>=20GB,如果要减小,需要修改install.py和create_database.sample.sql。
2、操作系统配置
root远程登录权限修改
sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config
sed -i 's/#PasswordAuthentication yes/ PasswordAuthentication yes/g' /etc/ssh/sshd_config
--修改完重庆sshd服务
/bin/systemctl restart sshd.service
关闭防火墙和SELinux(官方建议是添加信任,此处直接关闭避免后续连接有问题)
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
配置corefile
echo 'ulimit -c unlimited'>>/etc/profile
echo 'kernel.core_pattern =/opt/gdb/corefile/core-%e-%p-%t'>>/etc/sysctl.conf
--使配置生效
source /etc/profile
sysctl -p
检查ntp和lsof(此单机环境不需要ntp,可略过)
rpm -qa|grep ntp --NTP 4.2.6或以上版本
若没有,使用yum安装ntp
yum install ntp
which lsof
--若没有,使用yum安装lsof
yum install lsof
创建数据库安装用户组和用户
groupadd dbgrp
useradd -g dbgrp -d /home/omm -m -s /bin/bash omm
--设置密码
passwd omm
配置数据目录
--查看可用磁盘
[root@gaussdb ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 7.8G 0 part
├─rhel-root 253:0 0 6.8G 0 lvm /
└─rhel-swap 253:1 0 1G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
sdc 8:32 0 1G 0 disk
sr0 11:0 1 1024M 0 rom
--创建PV
[root@gaussdb ~]# pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
--创建GV
[root@gaussdb ~]# vgcreate datavg /dev/sdb /dev/sdc
Volume group "datavg" successfully created
--创建LV
[root@gaussdb ~]# lvcreate -L 20G -n datalv datavg
Logical volume "datalv" created.
--格式化LV
[root@gaussdb ~]# mkfs.ext4 /dev/datavg/datalv
--创建挂载点目录
[root@gaussdb ~]# mkdir -p /gdb/gaussdb/data
--挂载LV
[root@gaussdb ~]# mount /dev/datavg/datalv /gdb/gaussdb/data
--删除目录中的lost+found文件,防止安装软件时报错
[root@gaussdb ~]# find /gdb -name lost+found | xargs rm -rf
--将文件挂载信息写入fstab文件
[root@gaussdb ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Feb 19 17:30:47 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / ext4 defaults 1 1
UUID=a3e33662-9f1b-4a0a-a8c2-7f7681c5d6c9 /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/datavg/datalv /gdb/gaussdb/data ext4 defaults,noatime,nobarrier 0 0 --注意添加noatime,nobarrier选项,提升性能
--重新挂载文件系统
[root@gaussdb ~]# mount -o remount /gdb/gaussdb/data
二、安装数据库软件
解压安装包(本次使用的是一个大包,包含多个安装包,因此解压了多次)
chown omm:dbgrp GaussDB_100_1.0.1-REDHAT7.5-X86.tar.gz
su - omm
tar -xvf GaussDB_100_1.0.1-REDHAT7.5-X86.tar.gz
tar -xvf GaussDB_100_1.0.1-CLUSTER-REDHAT7.5-64bit.tar.gz
[omm@gaussdb software]$ tar -xvf GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
GaussDB_100_1.0.1-DATABASE-REDHAT-64bit/
GaussDB_100_1.0.1-DATABASE-REDHAT-64bit/sshexkey.py
GaussDB_100_1.0.1-DATABASE-REDHAT-64bit/upgrade.py
GaussDB_100_1.0.1-DATABASE-REDHAT-64bit/funclib.py
GaussDB_100_1.0.1-DATABASE-REDHAT-64bit/install.py
GaussDB_100_1.0.1-DATABASE-REDHAT-64bit/GaussDB_100_1.0.1-RUN-REDHAT-64bit.sha256
GaussDB_100_1.0.1-DATABASE-REDHAT-64bit/GaussDB_100_1.0.1-RUN-REDHAT-64bit.tar.gz
使用root用户安装(添加-O参数不建库,手工建库方便定制化)
python install.py -U omm:dbgrp -R /gdb/gaussdb/app -D /gdb/gaussdb/data -O
三、手工建库
1、 配置参数文件
虽然安装软件是没有建库,但是相关的目录已经创建好,不需要手工创建
--到 /gdb/gaussdb/data/cfg目录修改zengine.ini
TEMP_BUFFER_SIZE = 1G
DATA_BUFFER_SIZE = 2G
SHARED_POOL_SIZE = 1G
LOG_BUFFER_SIZE = 64M
DBWR_PROCESSES = 8
LOG_BUFFER_COUNT = 8
SESSIONS = 800 --跟进需要设置,最大值为8000
INSTANCE_NAME = gyl --修改实例名
LSNR_ADDR = 127.0.0.1,192.168.80.128 --添加本机地址到监听端口
LSNR_PORT = 1888 --监听端口
ENABLE_SYSDBA_LOGIN = TRUE
2、启动数据库到nomount阶段
[omm@gaussdb cfg]$ cd $GSDB_HOME/bin
[omm@gaussdb bin]$ python zctl.py -t start -m nomount -D /gdb/gaussdb/data
Successfully started instance.
3、创建数据库
[omm@gaussdb bin]$ zsql / as sysdba
Warning: SSL connection to server without CA certificate is insecure. Continue anyway? (y/n):y
connected.
SQL> @/home/omm/create_db.sql
SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Succeed.
SQL>
SQL> select instance_name,status from dv_instance;
INSTANCE_NAME STATUS
-------------------- --------------------
gyl OPEN
1 rows fetched.
SQL> select name,status from dv_database;
NAME STATUS
-------------------------------- --------------------
GYL OPEN
1 rows fetched.
create_db.sql内容如下
create database gyl character set utf8
CONTROLFILE('/gdb/gaussdb/data/cntl1', '/gdb/gaussdb/data/cntl2', '/gdb/gaussdb/data/cntl3')
LOGFILE('/gdb/gaussdb/data/log1' size 128M, --这里将日志组数和大小进行了修改
'/gdb/gaussdb/data/log2' size 128M,
'/gdb/gaussdb/data/log3' size 128M)
system tablespace DATAFILE '/gdb/gaussdb/data/system' size 1G
undo tablespace DATAFILE '/gdb/gaussdb/data/undo' size 1G
default tablespace DATAFILE '/gdb/gaussdb/data/user1' size 1G autoextend on next 32M,
'/gdb/gaussdb/data/user2' size 1G autoextend on next 32M,
'/gdb/gaussdb/data/user3' size 1G autoextend on next 32M,
'/gdb/gaussdb/data/user4' size 1G autoextend on next 32M,
'/gdb/gaussdb/data/user5' size 1G autoextend on next 32M
temporary tablespace TEMPFILE '/gdb/gaussdb/data/temp1_01' size 160M autoextend on next 32M,
'/gdb/gaussdb/data/temp1_02' size 160M autoextend on next 32M nologging
tablespace TEMPFILE '/gdb/gaussdb/data/temp2_01' size 160M autoextend on next 32M,
'/gdb/gaussdb/data/temp2_02' size 160M autoextend on next 32M
nologging undo tablespace TEMPFILE '/gdb/gaussdb/data/temp2_undo' size 1G
sysaux tablespace DATAFILE '/gdb/gaussdb/data/sysaux' size 160M autoextend on next 32M ARCHIVELOG;
至此,安装结束!
4、附录
1、测试监听连接
[omm@gaussdb bin]$ zsql sys/Changeme_123@127.0.0.1:1888
Warning: SSL connection to server without CA certificate is insecure. Continue anyway? (y/n):y
connected.
SQL> select instance_name,status from dv_instance;
INSTANCE_NAME STATUS
-------------------- --------------------
gyl OPEN
1 rows fetched.
2、主进程状态问题修正
--此时主进程显示的状态还是nomount
[omm@gaussdb ~]$ ps -ef | grep zen
omm 2452 1 5 13:21 pts/0 00:00:21 /gdb/gaussdb/app/bin/zengine nomount -D /gdb/gaussdb/data
--下面做一次启停修复状态
[omm@gaussdb bin]$ python zctl.py -t stop -m immediate
Successfully stopped instance.
[omm@gaussdb bin]$ python zctl.py -t start
Successfully started instance.
[omm@gaussdb bin]$
[omm@gaussdb bin]$ ps -ef | grep zen
omm 2612 1 2 13:34 pts/0 00:00:00 /gdb/gaussdb/app/bin/zengine open -D /gdb/gaussdb/data
omm 2646 2221 0 13:34 pts/0 00:00:00 grep --color=auto zen
[omm@gaussdb bin]$
[omm@gaussdb bin]$ zsql sys/Changeme_123@127.0.0.1:1888
Warning: SSL connection to server without CA certificate is insecure. Continue anyway? (y/n):y
connected.
SQL> select instance_name,status from dv_instance;
INSTANCE_NAME STATUS
-------------------- --------------------
gyl OPEN
1 rows fetched.
最后修改时间:2020-02-20 15:38:32
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




