暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kylin V10安装GuassDB完整版手册(TPOPS方式)

1810

和oceanbase的OCP类似,Gauss也提供了安装、监控平台TP OPS
。需要的配置是一样的高,个人想搞虚拟机安装,很困难(能折腾的可以试试)。

一、安装TP OPS

OLTP OPS(以下简称TPOPS)是一款基于Web的数据库监控工具,提供丰富的界面展示,可有效监控多个实例数据库。TPOPS通过不同用户角色区分查看和操作权限,对实例数据库进行安全监控和运维操作。

其数据也是存储在单独的Gauss数据库中,

/home/dmuser/dmserver/primdb/server/bin/gaussdb -/home/dmuser/dmserver/primdb/data/data

1.1 系统要求

操作系统要求

服务器类型操作系统
通用X86服务器Kylin V10 SP1
TaiShan ARM服务器Kylin V10 SP1

硬件要求

硬件配置说明
CPU16 核CPU逻辑核
内存建议64G,最少32G(后期会提示可用内存不足,但可以正常使用)
磁盘200G 就可以和保留监控数据时长相关

下表是官方文档的磁盘划分要求,粗暴点直接一个目录就行

image-20240126141230311

软件要求

软件要求
浏览器chromium内核最好(70+)
JDKJDK 1.8_222到10之间版本,推荐1.8.0.311
Python3.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 -<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上传安装包

系统管理>管理>安装包管理,点击上传

image-20240126161340173

2.6安装实例

主页 > 安装实例

image-20240126161533621

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

image-20240126161817914
  • • 实例OS用户名:自定义

  • • 密码自定义

  • • root密码:如果之前的密码不符合要求,会要求修改,霸权主义

提交
开始安装,可通过任务日志来查看安装进度。

image-20240126162412751

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

/tmp/GaussDBInstallLog
目录下,慢慢找吧。

image-20240126162609207

如果遇到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/


文章转载自戏说数据那点事,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论