GBase8cV5.0.0 单机安装文档

GBase8cV5.0.0 单机安装文档

一、服务器环境配置

1、安装依赖包
[root@database ~]# yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel libnsl expect bzip2
2、关闭操作系统防火墙

​ 为了在防火墙开启的状态下,确保 GBase8c 的正常使用。用户需要将同GBase8c 相关的服务、协议、IP 以及端口添加到 GBase8c 各主机的防火墙白名单中,本次示例将对防火墙进行关闭。

​ (1) 查看防火墙状态,确认是否处于关闭状态。

[root@database ~]# systemctl status firewalld.service
如果系统提示 inactive (dead),说明防火墙已被禁用:
[root@database ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

​ (2) 若防火墙处于关闭状态(inactive(dead)),无需操作;若防火墙处于开启状态(active(running)),则执行如下命令,将其关闭并禁止开机自启动:

# 关闭
[root@database ~]# systemctl stop firewalld
# 禁止开机自启动
[root@database ~]# systemctl disable firewalld
3、关闭 SELINUX

​ SELINUX 提供了强制访问控制功能。为了GBase8c 的正常运行,需要关闭所有节点服务器的SELINUX。

​ (1) 查看SELINUX 状态,确认是否处于关闭状态。

[root@database ~]# getenforce

​ (2) 若返回提示disabled,说明SELINUX 已被禁用,无需操作;若返回提示Permissive,则提示SELINUX被临时关闭,重启后会按照配置文件中内容生效,所以需要编辑配置文件,将”SELINUX”参数值修改为disabled。

[root@database ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
4、设置字符集参数(可选)

​ 将服务器字符集设置为相同的字符集,编辑 /etc/profile 文件:

[root@database ~]# sed -i '$a\export LANG="en_US.UTF-8"\' /etc/profile
5、设置时区和时间

​ 将各数据库节点的时区设置为相同时区。

​ (1) 首先将 /usr/share/zoneinfo/ 目录下的时区文件拷贝为 /etc/localtime 文件。

[root@database ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

​ (2) 使用date -s 命令将各主机的时间设置为统一时间

[root@database ~]# date -s "Tue Nov 7 11:14:07 CST 2023"

​ (3) 通过date 命令查询主机时区。检查年份、日期是否一致即可。时间可能由于操作时间而显示时差。

[root@database ~]# date
202311月 07日 星期二 11:14:41 CST
6、关闭 RemoveIPC

​ 在CentOS 7.2+ 、RHEL 7.2+ 或Kylin-Server-20200711+ 操作系统环境中, 需检查RemoveIPC 参数,避免因该参数开启导致用户退出后数据库中断的问题。
​ (1) 修改 /etc/systemd/logind.conf 文件中的“RemoveIPC”值为“no”。

[root@database ~]# vim /etc/systemd/logind.conf
RemoveIPC=no

​ (2) 检查修改是否生效。

[root@database ~]# loginctl show-session | grep RemoveIPC
[root@database ~]# systemctl show systemd-logind | grep RemoveIPC
7、关闭 THP服务

​ 内存大页机制(Transport Huge Pages,THP),是linux2.6.38 后支持的功能。该功能支持2MB 的大页内存分配,默认开启。

​ 查看THP 服务

[root@database ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[root@database ~]# cat /sys/kernel/mm/transparent_hugepage/defrag

​ 关闭 THP 服务

[root@database ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@database ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
8、设置网卡MTU 值

​ 将各数据库节点的网卡MTU 值设置为相同大小。

​ (1) 执行如下命令查询服务器的网卡名称。

[root@database ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 8192
	inet 192.168.123.141 netmask 255.255.255.0 broadcast 192.168.123.255
	inet6 fe80::ccb8:5963:edc0:2de8 prefixlen 64 scopeid 0x20<link>
	ether 52:54:00:a8:10:a3 txqueuelen 1000 (Ethernet)
	RX packets 58101805 bytes 18537349158 (17.2 GiB)
	RX errors 0 dropped 257579 overruns 0 frame 0
	TX packets 92224325 bytes 22914835926 (21.3 GiB)
	TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

​ (2) 使用如下命令将各数据库节点的网卡MTU 值设置为相同大小。其中,网卡编号和MTU 值根据实际情况修改。MTU 值推荐8192,要求不小于1500。

[root@database ~]# ifconfig eth0 mtu 8192

9、关闭 swap 交换内存

​ 关闭swap 交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。如果服务器内存比较小,内存过载时,可打开swap 交换内存保障正常运行。建议低于 16G(包含16G) 保持开启swap内存交换。

​ (1)、检查服务器内存和是否开启swap内存交换

[root@database ~]# free -gh
			total 	used 	free 	shared 	buff/cache 	available
	Mem: 	31.8G 	16.8 	6.3G 	156M 	5.1G 		5.4G
	Swap: 	7.9G 	264K 	7.9G

​ (2)、检查到已经开启swap内存,使用命令swapoff -a 将其关闭

[root@database ~]# swapoff -a
[root@database ~]# free -gh
			total 	used 	free 	shared 	buff/cache 	available
	Mem: 	31.8G 	16.8 	6.3G 	156M 	5.1G 		5.4G
	Swap: 	0B 		0B 		0B

二、初始化安装环境

​ 为了保证 GBase8c 的正确安装,请首先对主机环境进行配置。在执行安装前,为了后续能以最小权限进行安装及 GBase8c 管理操作,保证系统安全性,需要运行安装前置脚本 gs_preinstall 准备好安装用户及环境。

1、安装环境配置
1.1 安装目录规划

在执行环境配置脚本时,需要规划好 GBase8c 配置文件路径、安装包存放路径、程序安装目录、实例数据目录,后续普通用户使用过程中不能再更改这些路径。

​ 目录规划建议:

需自行创建

​ (1)、解压的安装包单独放一个目录下:/dbdata/gbase/Installation_package

安装脚本自动创建:

​ (2)、数据库安装目录 (gaussdbAppPath):/dbdata/gbase/database/app

​ (3)、日志目录 (gaussdbLogPath):/dbdata/gbase/database/log

​ (4)、临时文件目录 (tmpMppdbPath):/dbdata/gbase/database/tmp

​ (5)、数据库工具目录 (gaussdbToolPath):/dbdata/gbase/database/tool

​ (6)、数据库core文件目录(corePath):/dbdata/gbase/database/corefile

​ (7)、Data数据节点目录:/dbdata/gbase/database/data/dn

1.2 环境适配

⭐ (可选) 如果是 openEuler 的操作系统为确保适配 python 版本,解压安装包后,修改
script/gspylib/cgbaseon/CheckPythonVersion.py 文件,将 if not pythonVersion == (3, 6):修改为 if not pythonVersion > = (3, 6):,键入“ESC”键进入指令模式,执行":wq"保存并退出修改。

​ ⭐(可选)如果是 openEuler 的操作系统,执行如下命令打开 performance.sh 文件,用 # 注释 sysctl -w vm.min_free_kbytes=112640 &> /dev/null,键入“ESC”键进入指令模式,执行":wq"保存并退出修改。

2、创建目录并依次解压安装包

​ 创建 /dbdata/gbase/Installation_package 文件夹,并将安装包移到 Installation_package 内进行解压。

[root@database ~]# mkdir -p /dbdata/gbase/Installation_package
[root@database ~]# mv GBase8cV5_S5.0.0B*_centos7.8_*.tar.gz /dbdata/gbase/Installation_package/
[root@database ~]# cd /dbdata/gbase/Installation_package
[root@database Installation_package]# tar -zxvf GBase8cV5_S5.0.0B*_centos7.8_*.tar.gz
[root@database Installation_package]# tar -zxvf GBase8cV5_S5.0.0B*_CentOS_*_om.tar.gz

​ 解压后会得到以下文件(以安装包版本 GBase8cV5_S5.0.0B10_CentOS_x86_64 示例)

[root@database Installation_package]# ll
总用量 605196
-r--------. 1 root root 205932215 1221 14:54 GBase8cV5_Package_bak_933ae03f.tar.gz
-r--------. 1 root root 206073149 1221 14:49 GBase8cV5_S5.0.0B10_centos7.8_x86_64.tar.gz
-r--------. 1 root root 22548134 71 17:23 GBase8cV5_S5.0.0B10_CentOS_x86_64_cm.tar.gz
-r--------. 1 root root 65 71 17:22 GBase8cV5_S5.0.0B10_CentOS_x86_64_om.sha256
-r--------. 1 root root 79203584 71 17:22 GBase8cV5_S5.0.0B10_CentOS_x86_64_om.tar.gz
-r--------. 1 root root 1036069 71 17:22 GBase8cV5_S5.0.0B10_CentOS_x86_64_pgpool.tar.gz
-r--------. 1 root root 65 71 17:22 GBase8cV5_S5.0.0B10_CentOS_x86_64.sha256
-r--------. 1 root root 104395757 71 17:22 GBase8cV5_S5.0.0B10_CentOS_x86_64.tar.bz2
drwxrwxr-x. 2 root root 190 71 17:22 lib
drwxr-xr-x. 9 root root 118 1221 14:55 libcgroup
drwxrwxr-x. 2 root root 6 71 17:22 libssl
drwxr-xr-x. 4 root root 28 316 2021 python3.8
drwx------. 10 root root 4096 71 17:22 script
-rw-rw-r--. 1 root root 341 71 17:22 support_system_info.json
-r--------. 1 root root 65 71 17:22 upgrade_sql.sha256
-r--------. 1 root root 493876 71 17:22 upgrade_sql.tar.gz
drwx------. 6 root root 87 72 2022 venv
-r--------. 1 root root 36 71 17:21 version.cfg
3、创建 XML 配置文件

​ 复制安装包内自带的安装配置文件 cluster_config_template.xml 到 Installation_package 文件夹内,并将其内容修改为本次安装的内容,根据配置文件参考说明进行修改即可。

[root@database Installation_package]# cp script/gspylib/etc/conf/cluster_config_template.xml /dbdata/gbase/Installation_package/gbase.xml
[root@database Installation_package]# vim /dbdata/gbase/Installation_package/gbase.xml

​ ❀ 单机部署 xml 配置文件参考及说明:

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <!-- GBase8c安装整体信息 -->
    <CLUSTER>
        <!-- 实例名 -->
        <PARAM name="clusterName" value="gbase" />
        <!-- 数据库安装节点主机名<hostname -f> (根据实际情况修改) -->
        <PARAM name="nodeNames" value="master" />
        <!-- 数据库安装目录 (根据实际情况修改) -->
        <PARAM name="gaussdbAppPath" value="/database/gbase/database/app" />
        <!-- 日志目录 (根据实际情况修改) -->
        <PARAM name="gaussdbLogPath" value="/database/gbase/database/log" />
        <!-- 临时文件目录 (根据实际情况修改) -->
        <PARAM name="tmpMppdbPath" value="/database/gbase/database/tmp" />
        <!-- 数据库工具目录 (根据实际情况修改) -->
        <PARAM name="gaussdbToolPath" value="/database/gbase/database/tool" />
        <!-- 数据库core文件目录 (根据实际情况修改) -->
        <PARAM name="corePath" value="/database/gbase/database/corefile" />
        <!-- 节点IP,与数据库节点名称列表一一对应(根据实际情况修改IP) -->
        <PARAM name="backIp1s" value="192.168.122.33"/> 
    </CLUSTER>
    <!-- 服务器上的节点部署信息 -->
    <DEVICELIST>
        <!-- 实例名 -->
        <DEVICE sn="gbase">
            <!-- 数据库安装节点主机名(hostname -f) (根据实际情况修改) -->
            <PARAM name="name" value="master"/>
            <!-- AZ及AZ优先级 -->
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP (根据实际情况修改IP) -->
            <PARAM name="backIp1" value="192.168.122.33"/>
            <PARAM name="sshIp1" value="192.168.122.33"/>
	    <!--dbnode-->
	    <PARAM name="dataNum" value="1"/>
		<!--DBport-->
	    <PARAM name="dataPortBase" value="15400"/>
		<!--data目录 (根据实际情况修改)-->
	    <PARAM name="dataNode1" value="/database/gbase/database/data/dn"/>
            <PARAM name="dataNode1_syncNum" value="0"/>
        </DEVICE>
    </DEVICELIST>
</ROOT>
4、执行环境配置脚本 ( gs_preinstall )

​ 使用 gs_preinstall 工具,自动检测安装环境。在执行此过程前可不用创建 GBase8c 操作系统用户及用户组,在环境配置过程中可执行创建。 ⚠ 只能使用 root 用户执行 gs_preinstall 命令

​ 若为共用环境,需加入 –sep-env-file=ENVFILE 参数分离环境变量,避免与其他用户相互影响,ENVFILE 为用户自行指定的环境变量分离文件的路径,可以为一个空文件。

[root@database Installation_package]# script/gs_preinstall -U gbase -G gbase -X /dbdata/gbase/Installation_package/gbase.xml

​ -U 中的 gbase 为数据库管理员(也是运行 GBase8c 的操作系统用户),-G 中的 gbase 为 GBase8c 的操作系统用户所在的用户组,gbase 为运行 GBase8c 的操作系统用户的群组名称,/dbdata/gbase/Installation_package/gbase.xml 为 GBase8c 配置文件路径。在执行过程中,gbase 用户的密码。

​ 预安装过程展示,期间需要输入用户密码,此举动为设置 gbase 用户密码。

[root@database Installation_package]# script/gs_preinstall -U gbase -G gbase -X /dbdata/
gbase/Installation_package/gbase.xml
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
Successfully installed the tools on the local node.
Setting host ip env
Successfully set host ip env.
Are you sure you want to create the user[gbase] (yes/no)? yes
Please enter password for cluster user.
Password:
Please enter password for cluster user again.
Password:
Generate cluster user password files successfully.
Successfully created [GBase8c] user on all nodes.
Preparing SSH service.
Successfully prepared SSH service.
Checking OS software.
Successfully check os software.
Creating cluster's path.
Successfully created cluster's path.
Set and check OS parameter.
Setting OS parameters.
Successfully set OS parameters.
Set and check OS parameter completed.
Preparing CRON service.
Successfully prepared CRON service.
Setting user environmental variables.
Successfully set user environmental variables.
Setting the dynamic link library.
Successfully set the dynamic link library.
Setting Core file
Successfully set core path.
Setting pssh path
Successfully set pssh path.
Setting Cgroup.
Successfully set Cgroup.
Set ARM Optimization.
No need to set ARM Optimization.
Fixing server package owner.
Setting finish flag.
Successfully set finish flag.
Preinstallation succeeded.

​ 🔺 错误排查:
​ 如果安装失败请根据日志目录下的 “gs_preinstall-YYYY-MM-DD_HHMMSS.log”

三、正式安装

​ 使用 gs_install 安装 GBase8c 。若为环境变量分离的模式安装的数据库需要 source 环境变量分离文件ENVFILE。

[root@database Installation_package]# su - gbase
[gbase@database ~]$ gs_install -X /dbdata/gbase/Installation_package/gbase.xml

​ /dbdata/gbase/Installation_package/gbase.xml 为 GBase8c 配置文件的路径。在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码。  ‍

​ 设置的密码要符合复杂度要求:

​ ⭐ 最少包含8 个字符,最多包含16 个字符。

​ ⭐ 不能和用户名、当前密码(ALTER)、或当前密码反序相同。

​ ⭐ 至少包含大写字母(A-Z)、小写字母(a-z)、数字、非字母数字字符(限定为~!@#$%^&*()-_=+|[{}];:,<.>/?)四类字符中的三类字符。
​ 安装过程中会生成ssl 证书,证书存放路径为{gaussdbAppPath}/share/sslcert/om,其中{gaussdbAppPath}为 GBase8c 配置文件中指定的程序安装目录。

安装过程展示

[gbase@database ~]$ gs_install -X /dbdata/gbase/Installation_package/gbase.xml
Parsing the configuration file.
Check preinstall on every node.
Successfully checked preinstall on every node.
Creating the backup directory.
Successfully created the backup directory.
begin deploy..
Installing the cluster.
begin prepare Install Cluster..
Checking the installation environment on all nodes.
begin install Cluster..
Installing applications on all nodes.
Successfully installed APP.
begin init Instance..
encrypt cipher and rand files for database.
Please enter password for database:
Please repeat for database:
begin to create CA cert files
The sslcert will be generated in /opt/gbase/database/app/share/sslcert/om
NO cm_server instance, no need to create CA for CM.
Non-dss_ssl_enable, no need to create CA for DSS
Cluster installation is completed.
Configuring.
Deleting instances from all nodes.
Successfully deleted instances from all nodes.
Checking node configuration on all nodes.
Initializing instances on all nodes.
Updating instance configuration on all nodes.
Check consistence of memCheck and coresCheck on database nodes.
Configuring pg_hba on all nodes.
Configuration is completed.
The cluster status is Normal.
Successfully started cluster.
Successfully installed application.
end deploy..

安装结束后查看数据库状态:

[gbase@database ~]$ gs_om -t status --detail
[   Cluster State   ]

cluster_state   : Normal
redistributing  : No
current_az      : AZ_ALL

[  Datanode State   ]

    node  node_ip         port      instance                                      state
-------------------------------------------------------------------------------------------------------
1  c1.com 192.168.122.33 15400      6001 /dbdata/single_alone/install/gbase/dn   P Primary Normal

🔺 错误排查:
   如果安装失败请根据日志目录下的 “gs_install-YYYY-MM-DD_HHMMSS.log” 和 “gs_local-YYYYMM-DD_HHMMSS.log” 中的日志信息排查错误。

四、基本配置

1、配置服务端远程连接(安装完需马上设置)

​ 配置使用的客户端认证方式,即允许客户端接入认证。用户可以设置某一客户端IP 或任意IP(0.0.0.0/0),以某一用户或任意用户(all)连接到本机。此处不能使用数据库默认用户 gbase(操作系统用户)。

[gbase@database ~]$ gs_guc reload -N all -I all -h "host all all 0.0.0.0/0 sha256"
[gbase@database ~]$ gs_guc set -N all -I all -c "listen_addresses = '*' "
[gbase@database ~]$ gs_guc set -N all -I all -c "password_encryption_type=1"
[gbase@database ~]$ gs_om -t restart

五、基本使用

1、创建DBA用户

​ 系统管理员是指具有 SYSADMIN 属性的帐户,默认安装情况下具有与对象所有者相同的权限,但不包括 dbe_perf 模式的对象权限。要创建新的系统管理员,请以初始用户或者系统管理员用户身份连接数据库,并使用带 SYSADMIN 选项的 CREATE USER 语句或 ALTER USER语句进行设置。

[gbase@database ~]# gsql -r -d postgres -p 15400
postgres#= create user dbauser with sysadmin login password 'Database@123';
CREATE USER
2、创建数据库
(1)、兼容性选择 DBCOMPATIBILITY
	DBCOMPATIBILITY [ = ] compatibility_type

​ 指定兼容的数据库的类型,默认兼容O。

​ 取值范围:A、B、C、PG。分别表示兼容O、MY、TD和POSTGRES。

(2)、字符编码 ENCODING
	ENCODING [ = ] encoding	

​ 指定数据库使用的字符编码,可以是字符串(如’SQL_ASCII’)、整数编号。

(3)、字符集 LC_COLLATE
	LC_COLLATE [ = ] lc_collate

​ 指定新数据库使用的字符集。例如,通过 lc_collate = ‘zh_CN.gbk’ 设定该参数。

​ 该参数的使用会影响到对字符串的排序顺序(如使用 ORDER BY 执行,以及在文本列上使用索引的顺序)。默认是使用模板数据库的排序顺序。

​ 取值范围:操作系统支持的字符集。

(4)、字符分类 LC_CTYPE
	LC_CTYPE [ = ] lc_ctype

​ 指定新数据库使用的字符分类。例如,通过 lc_ctype = ‘zh_CN.gbk’ 设定该参数。该参数的使用会影响到字符的分类,如大写、小写和数字。默认是使用模板数据库的字符分类。

​ 取值范围:操作系统支持的字符分类。

建库案例:

# 创建 dboracle 库,兼容性为 ORACLE,字符编码使用 UTF8 字符集使用 en_US.UTF-8
[gbase@database ~]# gsql -r -d postgres -p 15400
postgres#= create database dboracle owner dbauser DBCOMPATIBILITY= 'A' ENCODING 'UTF8' LC_COLLATE'en_US.UTF-8' LC_CTYPE'en_US.UTF-8';
CREATE DATABASE

# 创建 dbmysql 库,兼容性为 mysql,字符编码使用 UTF8 字符集使用 en_US.UTF-8
[gbase@database ~]# gsql -r -d postgres -p 15400
postgres#= create database dbmysql owner dbauser DBCOMPATIBILITY= 'B' ENCODING 'UTF8' LC_COLLATE'en_US.UTF-8' LC_CTYPE'en_US.UTF-8';
CREATE DATABASE

六、卸载

​ 卸载 GBase8c 的过程包含卸载 GBase8c 和服务器环境清理两部分。GBase8c 提供了卸载脚本帮助用户完整的卸载 GBase8c。

​ 执行gs_uninstall 脚本卸载GBase8c

[gbase@database ~]$ gs_uninstall --delete-data
Checking unInstallationGuide.
Successfully checked unInstallationGuide.
Stopping the cluster.
Successfully stopped the cluster.
Successfully deleted instances.
Uninstalling application.
Successfully uninstalled application.
UnInstallationGuide succeeded.

​ 🔺错误排查

​ 如果卸载失败请根据“$GAUSSLOG/om/gs_uninstall-YYYY-MM-DD_HHMMSS.log”中的日志信息排查错误。

​ GBase8c 卸载完成后,如果不需要在环境上重新部署 GBase8c ,可以运行脚本 gs_postuninstall 对服务器上环境信息做清理。GBase8c 环境清理是对环境准备脚本 gs_preinstall 所做设置的清理。

[root@database script]# ./gs_postuninstall -U gbase -X /dbdata/gbase/Installation_package/gbase.xml --delete-user --delete-group
  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值