和oceanbase的OCP类似,Gauss也提供了安装、监控平台TP OPS
。需要的配置是一样的高,个人想搞虚拟机安装,很困难(能折腾的可以试试)。
一、安装TP OPS
OLTP OPS(以下简称TPOPS)是一款基于Web的数据库监控工具,提供丰富的界面展示,可有效监控多个实例数据库。TPOPS通过不同用户角色区分查看和操作权限,对实例数据库进行安全监控和运维操作。
其数据也是存储在单独的Gauss数据库中,
/home/dmuser/dmserver/primdb/server/bin/gaussdb -D /home/dmuser/dmserver/primdb/data/data
1.1 系统要求
操作系统要求
| 服务器类型 | 操作系统 |
| 通用X86服务器 | Kylin V10 SP1 |
| TaiShan ARM服务器 | Kylin V10 SP1 |
硬件要求
| 硬件 | 配置 | 说明 |
| CPU | 16 核 | CPU逻辑核 |
| 内存 | 建议64G,最少32G(后期会提示可用内存不足,但可以正常使用) | |
| 磁盘 | 200G 就可以 | 和保留监控数据时长相关 |
下表是官方文档的磁盘划分要求,粗暴点直接一个目录就行

软件要求
| 软件 | 要求 |
| 浏览器 | chromium内核最好(70+) |
| JDK | JDK 1.8_222到10之间版本,推荐1.8.0.311 |
| Python | 3.6 及以上版本,也不能太新(官方没说) |
| expect命令(操作系统) | yum install expect |
1.2 准备安装
我们安装单节点TPOPS
第一步:获取安装包、工具
安装包只能通过官方获取,链接如下:
华为 GaussDB Ecotools 软件下载和补丁升级 - 华为 (huawei.com)[1]
[root@test219 software]# ll
total 2590608
-rw-r--r-- 1 root root 105512248 Jan 8 15:42 bisheng-jdk-8u342-linux-x64.tar.gz
-rw-r--r-- 1 root root 691481818 Jan 8 15:42 GaussDB_X86_Kylinv10_Distributed_2.23.01.200_20230327005900.tar.gz
-rw-r--r-- 1 root root 861180 Jan 8 15:42 isl-0.16.1-6.el8.x86_64.rpm
-rw-r--r-- 1 root root 25311732 Jan 8 16:04 Python-3.8.16.tgz
drwxr-xr-x 9 dmuser 513 8192 Jan 8 15:52 smartmontools-7.3
-rw-r--r-- 1 root root 1043932 Jan 8 15:42 smartmontools-7.3.tar.gz
-rw-r--r-- 1 root root 1827688488 Jan 8 15:42 TPOPS_Kylinv10_x86_2.23.01.200_20230328175033.tar.gz
第二步:安装Python、JDK、expect、smartctl
安装步骤这里就不演示了,直接yum就可以安装
查看安装是否正常
[root@test219 software]# java -version
openjdk version "1.8.0_342"
OpenJDK Runtime Environment BiSheng (build 1.8.0_342-b11)
OpenJDK 64-Bit Server VM BiSheng (build 25.342-b11, mixed mode)
[root@test219 software]# expect -v
expect version 5.45.4
[root@test219 software]# python3 -V
Python 3.7.9
smartctl下载地址:smartmontools[2]
安装命令:
cd smartmontools-7.3/
./configure
make
make install
第三步:配置/etc/hosts
只需要配置本机ip和主机名
[root@test219 software]# cat /etc/hosts
60.60.60.181 test181
60.60.60.182 test182
60.60.60.183 test183
60.60.60.186 test186
60.60.60.219 test219
60.60.60.84 test84
60.60.60.57 test57
第四步:关闭防火墙、selinux
systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config
SELINUX=disabled
--临时关闭
setenforce 0
第五步:上传安装包,解压
cd /home
mkdir dm-pkg
cp /software/TPOPS_Kylinv10_x86_2.23.01.200_20230328175033.tar.gz /home/dm-pkg/
cd /home/dm-pkg
tar -xvf TPOPS_Kylinv10_x86_2.23.01.200_20230328175033.tar.gz
配置preinstall_default.cfg
文件中的参数,只配置下面两个参数即可
[pre_install]
dm_user = dmuser # User for TPOPS server installation
dm_group = dmuser # User group for the TPOPS server user
1.3开始安装
第一步:预安装
主要配置用户、操作系统参数、端口等检查
cd /home/dm-pkg
source /etc/profile
source ~/.bashrc
python3 preinstall_dm.py
返回结果
Config file | OK | ip_type is not updated. ip_type selected as IPv4.
Config file | OK | Peer IP not updated. Pre-install will be executed in standalone
mode.
Enter Password for the dmmuser(OS) user:
Retype password:
Group Check | OK | Group already exists
Create User | OK | User:dmmuser Created
User-Group Check | OK |
Set the ulimit Value | OK | Ulimit Value set for the TPOPS user
Cron Access Check | OK | Cron access added for user.
Port Range Check | OK | Port range set:50000-65535
Package Transfer to user | OK | TPOPS package kept at:/home/dmmuser/dmpackage/
TPOPS_Kylinv10_ARM_1.0.T04_20220614180142.tar.gz and un-tarred
Set Java Home | OK | Java Home set for the user.
Java Compatibility Check | OK |
User language settings Check | OK | User Language set to en_US.UTF-8 for user: dmmuser
Setting SSH timeout | OK | SSH timeout settings mѲfi for user.
TPOPS Preinstall Check | COMPLETE |
第二步:配置TPOPS参数
su - dmuser
cd ~/dmpackage
vi install-default.conf
--配置IP就行,其他参数保持默认值
webui.listen.ip = 60.60.60.219
第三步:安装前检查
su - dmuser
cd ~/dmpackage
python3 install.py check
出现如下信息,表示没有报错,就可以进行下一步了。
All Pre-Checks Complete. DM can be installed on this machine.
如果机器资源实在不够,过不了检查。可通过以下命令跳过磁盘,内存检查
python3 install.py install --config install-default.conf --skip-disk-check --skip-memory-check
第四步:正式安装TPOPS
su - dmuser
cd ~/dmpackage
python3 install.py install
安装过程受硬件环境影响,半小时以内能够搞定。这部分安装通常没什么问题。
安装过程中设置的密码,一定谨记。
第五步:验证
su - dmuser
cd $DM_HOME/bin
python3 dmserver.py status -a
--结果如下,都是UP
-----------------------------------------------------------------
Component | Status | Eureka Status
-----------------------------------------------------------------
Primarydb | UP | Not Applicable
WebUI | UP | Not Applicable
APS_InfraEureka | UP | NOT REGISTERED
APS_InfraZuul | UP | REGISTERED
APS_InfraProxy | UP | REGISTERED
APS_InfraCollection | UP | REGISTERED
APS_InfraProcessing | UP | REGISTERED
APS_InfraHAService | UP | REGISTERED
APS_AutoPilotAudit | UP | REGISTERED
APS_AutoPilotConfig | UP | REGISTERED
APS_AutoPilotPlatformMgmt | UP | REGISTERED
APS_AutoPilotUser | UP | REGISTERED
APS_Monitoring | UP | REGISTERED
APS_Analysis | UP | REGISTERED
APS_Alert_Service | UP | REGISTERED
APS_Alert_WS | UP | REGISTERED
APS_ClusterConfig | UP | REGISTERED
APS_ClusterInstall | UP | REGISTERED
APS_ClusterOperation | UP | REGISTERED
APS_DBOperation | UP | REGISTERED
APS_NodeOperation | UP | REGISTERED
APS_OperationManagement | UP | REGISTERED
-----------------------------------------------------------------
如果有的服务不是UP状态,可通过以下命令来启动
python3 dmserver.py start -s <service_name>
至此,已完成TPOPS的安装 !!!
二、安装GaussDB
通过TPOPS一键安装GuassDB,虽说是一键安装,但是如果出问题就比较难以排查。
Let`s 开始
2.1环境检查
以下检查在所有数据库(DN\CN)节点执行
确认已安装iptables命令,否则通过以下命令安装
yum install iptables -y
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭selinux
vi /etc/selinux/config
SELINUX=disabled
--临时关闭
setenforce 0
修改MTU
MTU值推荐8192(ARM),1500(X86),要求不小于1500。
修改命令:
ifconfig <网卡编号> mtu <值>
例如:ifconfig eth0 mtu 8192
请确保实例的所有节点(包括X86和ARM)/etc/ssh/sshd_config文件中的GSSAPIAuthentication参数设置为no,如果没有则需要修改,并重启sshd服务。
systemctl restart sshd
expect
所有节点必须安装
yum install expect
2.2硬件要求
• 内存:32G及以上
• CPU:8c
• 磁盘:200G
• 网络:300M以上带宽
2.3软件要求
• 操作系统:Kylin V10 SP1
• 剩余inode>15亿(推荐)
• Python ,莫慌Kylin V10 SP1默认版本就是这个Kylin(X86):仅支持Python 3.7.9。Kylin(arm):仅支持Python 3.7.4。
2.4登录TPOPS
地址:https://60.60.60.219:7070/APW/#/
默认用户名:admin
密码:安装过程中提示你输入的,不会忘了吧
重置admin密码:
su - dmuser
cd dmserver/bin
python3 dmserver.py encryptpasswd --irevers-algo=PBKDF2
Enter the password to encrypt: --输入新密码
2.5上传安装包
系统管理>管理>安装包管理,点击上传

2.6安装实例
主页 > 安装实例

选择部署类型,然后下载实例文件配置模板

• 实例OS用户名:自定义
• 密码自定义
• root密码:如果之前的密码不符合要求,会要求修改,
霸权主义
提交
开始安装,可通过任务日志来查看安装进度。

从安装几次的经验来看,第一次失败的概率比较大,而且错误原因比较难找。所有日志都在
/tmp/GaussDBInstallLog
目录下,慢慢找吧。

如果遇到failed to start etcd,可以参考一下:
https://mp.weixin.qq.com/s/xZngoLMb8faL7VCI3mJKuw
三、附录:
配置文件内容:
{
"rdsAdminUser": "rdsAdmin",
"rdsAdminPasswd": "Gauss@123",
"rdsMetricUser": "rdsMetric",
"rdsMetricPasswd": "Gauss@123",
"rdsReplUser": "rdsRepl",
"rdsReplPasswd": "Gauss@123",
"rdsBackupUser": "rdsBackup",
"rdsBackupPasswd": "Gauss@123",
"dbPort": "8000",
"dbUser": "root",
"dbUserPasswd": "Gauss@123",
"clusterMode": "combined",
"params": {
"enable_thread_pool": "on",
"enable_bbox_dump": "on",
"bbox_dump_path": "/home/core"
},
"cnParams": {},
"dnParams": {},
"cmParams": {},
"clusterConf": {
"clusterName": "Gauss_XuanYuan",
"encoding": "utf8",
"shardingNum": 3,
"replicaNum": 3,
"solution": "hws",
"cm": [
{
"rack": "test183",
"az": "AZ2",
"ip": "60.60.60.183",
"dataIp": "60.60.60.183",
"virtualIp": "60.60.60.183"
},
{
"rack": "test182",
"az": "AZ1",
"ip": "60.60.60.182",
"dataIp": "60.60.60.182",
"virtualIp": "60.60.60.182"
},
{
"rack": "test186",
"az": "AZ3",
"ip": "60.60.60.186",
"dataIp": "60.60.60.186",
"virtualIp": "60.60.60.186"
}
],
"cn": [
{
"rack": "test182",
"az": "AZ1",
"ip": "60.60.60.182",
"dataIp": "60.60.60.182",
"virtualIp": "60.60.60.182"
},
{
"rack": "test183",
"az": "AZ2",
"ip": "60.60.60.183",
"dataIp": "60.60.60.183",
"virtualIp": "60.60.60.183"
},
{
"rack": "test186",
"az": "AZ3",
"ip": "60.60.60.186",
"dataIp": "60.60.60.186",
"virtualIp": "60.60.60.186"
}
],
"gtm": [
{
"rack": "test182",
"az": "AZ1",
"ip": "60.60.60.182",
"dataIp": "60.60.60.182",
"virtualIp": "60.60.60.182"
},
{
"rack": "test183",
"az": "AZ2",
"ip": "60.60.60.183",
"dataIp": "60.60.60.183",
"virtualIp": "60.60.60.183"
},
{
"rack": "test186",
"az": "AZ3",
"ip": "60.60.60.186",
"dataIp": "60.60.60.186",
"virtualIp": "60.60.60.186"
}
],
"shards": [
[
{
"rack": "test182",
"az": "AZ1",
"ip": "60.60.60.182",
"dataIp": "60.60.60.182",
"virtualIp": "60.60.60.182"
},
{
"rack": "test183",
"az": "AZ2",
"ip": "60.60.60.183",
"dataIp": "60.60.60.183",
"virtualIp": "60.60.60.183"
},
{
"rack": "test186",
"az": "AZ3",
"ip": "60.60.60.186",
"dataIp": "60.60.60.186",
"virtualIp": "60.60.60.186"
}
],
[
{
"rack": "test183",
"az": "AZ2",
"ip": "60.60.60.183",
"dataIp": "60.60.60.183",
"virtualIp": "60.60.60.183"
},
{
"rack": "test182",
"az": "AZ1",
"ip": "60.60.60.182",
"dataIp": "60.60.60.182",
"virtualIp": "60.60.60.182"
},
{
"rack": "test186",
"az": "AZ3",
"ip": "60.60.60.186",
"dataIp": "60.60.60.186",
"virtualIp": "60.60.60.186"
}
],
[
{
"rack": "test186",
"az": "AZ3",
"ip": "60.60.60.186",
"dataIp": "60.60.60.186",
"virtualIp": "60.60.60.186"
},
{
"rack": "test183",
"az": "AZ2",
"ip": "60.60.60.183",
"dataIp": "60.60.60.183",
"virtualIp": "60.60.60.183"
},
{
"rack": "test182",
"az": "AZ1",
"ip": "60.60.60.182",
"dataIp": "60.60.60.182",
"virtualIp": "60.60.60.182"
}
]
],
"etcd": {
"nodes": [
{
"rack": "test182",
"az": "AZ1",
"ip": "60.60.60.182",
"dataIp": "60.60.60.182",
"virtualIp": "60.60.60.182"
},
{
"rack": "test183",
"az": "AZ2",
"ip": "60.60.60.183",
"dataIp": "60.60.60.183",
"virtualIp": "60.60.60.183"
},
{
"rack": "test186",
"az": "AZ3",
"ip": "60.60.60.186",
"dataIp": "60.60.60.186",
"virtualIp": "60.60.60.186"
}
]
}
}
}
引用链接
[1]
华为 GaussDB Ecotools 软件下载和补丁升级 - 华为 (huawei.com): https://support.huawei.com/enterprise/zh/cloud-computing/gaussdb-ecotools-pid-255846023/software/[2]
smartmontools: https://www.smartmontools.org/




