南大通用GBase 8a GDOM Postgresql版本安装

GDOM GBase 数据库运维管理系统,当前版本3.2B2支持Postgresql(简称pg)数据库和mysql数据库,本文介绍该GDOM版本的安装。

如下在安装包解压后的目录下进行。postgresql需要提前安装好,我测试用的postgresql14-14.9-2PGDG.rhel7.x86_64.rpm。

环境准备

OS rpm包

一些rpm需要安装。我自己的环境仅发现如下这个expect,否则后面的shell脚本无法运行。

yum install expect

gdom需要的rpm

./gdomSetupRPM.sh redhat7-x86_64

其中操作系统类型目前支持

  • redhat7-x86_64
  • redhat8-x86_64
  • kylin10-x86_64
  • kylin10-aarch64

配置

配置文件 demo.options

详情可以参考解压目录下的README.PDF 里的详细介绍,本文仅介绍几个重要的。

# 安装目录,提前建好,并且有第四个参数(user)的访问权限
gdomRoot=/opt/gdom
# 服务器IP,本例就1个IP
gdomService=10.0.2.103
# 服务端口,外面有nginx 所以不是最终对外访问端口。直接访问会返回
# 欢迎使用GBase8aMPP Database Operation Manager GBase8aMPP数据库运维管理系统,当前版本:vv3.2.0-build2,请通过前端地址访问
gdomServicePort=8080
# 不要用已经存在的用户,指定个专门给gdom的OS用户来安装
user=gdom

# 如下是使用已经安装好的pg数据库的样例
# 如下参数报错为空
gdomDb=

# 默认端口
gdomDbPort=5432

# 数据库访问用户
gdomDbUser=postgres
# 数据库访问密码
gdomDbPwd=111111

# JDBC驱动
gdomDbDriver=org.postgresql.Driver

# 第三方数据库, 用下面的URL来指定
# 且一旦指定,则前面的gdomDb参数失效,以此为准
# 此JDBC连接URL,【不能指定库名】. 否则会导致安装后连接不上数据库。如已操作,可以在安装后的如下位置修改
# gdom/install/gdom-service/config/application.properties
gdomDbUrl='jdbc:postgresql://10.0.2.103:5432/?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true'

gdomDbHa=
gdomDbHaPort=3307
gdomDbHaMonitorPort=8811
gdomDbHaMonitorAdmin=admin
gdomDbHaMonitorPwd=admin

# 分析库配置,其中的端口改成了6258,因为本地5258已经分配给8a集群
gdomGBaseDb=10.0.2.103
gdomGBaseDbPort=6258
gdomGBaseDbUser=gbase2
gdomGBaseDbPwd=gbase2
gdomGBaseDbUrl=

# ng的端口,这个是对外服务的WEB端口
gdomNginx=10.0.2.103
gdomNginxPort=8810
gdomNginxUrl=

# 后面的IP改了,其它的保持默认即可
gdomRedis=10.0.2.103
gdomRedisPort=7481
gdomRedisDb=0
gdomRedisUrl=

gdomMq=10.0.2.103
gdomMqPort=9876
gdomDashBoardPort=9898
gdomMqUrl=

配置互信

可以自动创建配置文件里user参数指定的OS用户,并设置ssh互信。

需要root执行,并输入一次root密码和gdom密码。

[root@gbase_rh7_003 GDOM-v3.2.0-build2-redhat7-x86_64]# ./gdomMutualTrust.sh  -a

   ____ ____   ___  __  __   _____  ____
  / ___|  _ \ / _ \|  \/  | |___ / |___ \
 | |  _| | | | | | | |\/| |   |_ \   __) |
 | |_| | |_| | |_| | |  | |  ___) | / __/
  \____|____/ \___/|_|  |_| |____(_)_____|

        版本: GDOM-v3.2.0-build2

#########################################################
                     创建gdom用户
#########################################################

请输入root用户密码:
请输入gdom用户密码:

root@10.0.2.103's password:
useradd: user 'gdom' already exists
#########################################################
                      互信信息生成
#########################################################

spawn ssh-copy-id -i /home/gdom/.ssh/id_rsa.pub gdom@10.0.2.103
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
gdom@10.0.2.103's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'gdom@10.0.2.103'"
and check to make sure that only the key(s) you wanted were added.

gdom用户互信完成

[root@gbase_rh7_003 GDOM-v3.2.0-build2-redhat7-x86_64]#

如果运行期间报错

/usr/bin/ssh-copy-id: ERROR: invalid option (-f)

Usage: /usr/bin/ssh-copy-id [-h|-?|-n] [-i [identity_file]] [-p port] [[-o <ssh -o options>] ...] [user@]hostname

可以编辑gdomTrust.exp, 将ssh-copy-id后面 -f参数删掉。 如下是删掉后的部分截图。

安装

将GDOM解压后的文件,移动到配置文件user对应的用户下,本例是gdom. 然后更改属主为gdom。

mv /root/GDOM-v3.2.0-build2-redhat7-x86_64 /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64
chown -R gdom:gdom /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64

切换到gdom,执行安装 gdomInstall.sh -a

[root@gbase_rh7_003 config]# su - gdom
Last login: Wed Dec  4 11:07:23 CST 2024 on pts/0
[gdom@gbase_rh7_003 ~]$ cd GDOM-v3.2.0-build2-redhat7-x86_64/
[gdom@gbase_rh7_003 GDOM-v3.2.0-build2-redhat7-x86_64]$ ./gdomInstall.sh  -a
#########################################################
                  GDOM 安装部署
#########################################################


   ____ ____   ___  __  __   _____  ____
  / ___|  _ \ / _ \|  \/  | |___ / |___ \
 | |  _| | | | | | | |\/| |   |_ \   __) |
 | |_| | |_| | |_| | |  | |  ___) | / __/
  \____|____/ \___/|_|  |_| |____(_)_____|

        版本: GDOM-v3.2.0-build2

10.0.2.103 /opt/gdom 初始化成功

#########################################################
                  部署环境检查
#########################################################

gdom存在,校验通过
gdom具备执行权限,校验通过
#########################################################
                     端口检查
#########################################################

---------------------GDOM Service------------------------
10.0.2.103 GDOM Service 8080 可用
---------------------GDOM DB-----------------------------
跳过,使用第三方资源库
---------------------HaProxy-----------------------------
跳过,不使用HaProxy
---------------------GBase8a-----------------------------
10.0.2.103 GBase 6258 可用
---------------------Nginx-------------------------------
10.0.2.103 Nginx 8810 可用
---------------------Redis-------------------------------
10.0.2.103 Redis 7481 可用
---------------------RocketMQ----------------------------
10.0.2.103 Redis 9876 可用

#########################################################
                  安装包分发
#########################################################

---------------------GDOM Service------------------------
gdom-service-3.2.0.tar.gz                                                                              100%  216MB 107.9MB/s   00:02
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/gdom/gdom-service-3.2.0.tar.gz to 10.0.2.103
jdk-1.8.0_411-linux-x86_64.tar.gz                                                                      100%  140MB 140.1MB/s   00:01
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/jdk/jdk-1.8.0_411-linux-x86_64.tar.gz to 10.0.2.103
application.properties                                                                                 100%   13KB  12.6KB/s   00:00
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/gdom/agent/application.properties to 10.0.2.103
gdom-agent.tar.gz                                                                                      100%  130MB  65.0MB/s   00:02
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/gdom/agent/gdom-agent.tar.gz to 10.0.2.103
jdk-1.8.0_411-linux-aarch64.tar.gz                                                                     100%   72MB  71.9MB/s   00:01
VERSION                                                                                                100%   84     0.1KB/s   00:00
jdk-1.8.0_411-linux-x86_64.tar.gz                                                                      100%  140MB 140.1MB/s   00:00
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/jdk to 10.0.2.103
help.pdf                                                                                               100% 7362KB   7.2MB/s   00:01
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/gdom/help.pdf to 10.0.2.103
---------------------GDOM DB-----------------------------
跳过,使用第三方资源库
---------------------HaProxy-----------------------------
跳过,不使用HaProxy
---------------------GBase8a-----------------------------
GBase8a-NoLicense-9.5.3.28.11-redhat7-x86_64.tar.gz                                                    100%   61MB  61.4MB/s   00:01
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/gbase/GBase8a-NoLicense-9.5.3.28.11-redhat7-x86_64.tar.gz to 10.0.2.103
gdom_init.sql                                                                                          100%   72KB  71.9KB/s   00:00
gdom_init_data.sql                                                                                     100%  588KB 587.7KB/s   00:00
gdom_init_pg.sql                                                                                       100%   94KB  93.8KB/s   00:00
gdom_init_pg_data.sql                                                                                  100%  586KB 585.9KB/s   00:00
gdom_init_proc.sql                                                                                     100%  839KB 838.9KB/s   00:00
quartz_init.sql                                                                                        100%   12KB  11.5KB/s   00:00
gdom_init_analysis.sql                                                                                 100%   29KB  29.2KB/s   00:00
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/gdom/sql to 10.0.2.103
---------------------Nginx-------------------------------
nginx-1.27.0-x86_64.tar.gz                                                                             100% 1487KB   1.5MB/s   00:01
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/nginx/nginx-1.27.0-x86_64.tar.gz to 10.0.2.103
dist.tar.gz                                                                                            100% 1603KB   1.6MB/s   00:00
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/gdom/dist.tar.gz to 10.0.2.103
---------------------Redis-------------------------------
redis-6.2.7-x86_64.tar.gz                                                                              100% 2742KB   2.7MB/s   00:00
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/redis/redis-6.2.7-x86_64.tar.gz to 10.0.2.103
---------------------RocketMQ----------------------------
rocketmq-all-5.2.0-bin-release.tar.gz                                                                  100%  144MB  20.5MB/s   00:07
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/rocketmq/rocketmq-all-5.2.0-bin-release.tar.gz to 10.0.2.103
jdk-1.8.0_411-linux-x86_64.tar.gz                                                                      100%  140MB 140.1MB/s   00:01
Successfully copy /home/gdom/GDOM-v3.2.0-build2-redhat7-x86_64/package/jdk/jdk-1.8.0_411-linux-x86_64.tar.gz to 10.0.2.103

#########################################################
                   安装节点中间件解压
#########################################################

---------------------GDOM Service------------------------
10.0.2.103 GDOM Service 解压成功
10.0.2.103 jdk 解压成功
---------------------GDOM DB-----------------------------
跳过,使用第三方资源库
---------------------HaProxy-----------------------------
跳过,不使用HaProxy
---------------------GBase8a-----------------------------
10.0.2.103 GBase8a 解压成功
---------------------Nginx-------------------------------
10.0.2.103 Nginx 解压成功
10.0.2.103 gdomClient 解压成功
---------------------Redis-------------------------------
10.0.2.103 Redis 解压成功
---------------------RocketMQ----------------------------
10.0.2.103 RocketMQ 解压成功
10.0.2.103 RocketMQ jdk 解压成功

#########################################################
                   中间件配置
#########################################################

---------------------GDOM DB-----------------------------
跳过,使用第三方资源库
---------------------HaProxy-----------------------------
单节点部署,未使用高可用策略
---------------------GBase8a-----------------------------
========= 10.0.2.103 ===========
gbase_8a_gbase8a.cnf set port=6258
gbase_8a_gbase8a.cnf set socket=/opt/gdom/install/gbase/GBase/gbase_8a_6258.sock
GBase8a 设置成功
---------------------Redis-------------------------------
========= 10.0.2.103 ===========
port set port=7481
pidfile set pidfile=/opt/gdom/install/redis/redis-6.2.7-x86_64/redis_7481.pid
logfile set logfile=/opt/gdom/install/redis/redis-6.2.7-x86_64/redis_7481.log
dir set dir=/opt/gdom/install/redis/redis-6.2.7-x86_64
Redis 设置成功
---------------------RocketMQ----------------------------
========= 10.0.2.103 ===========
server.port set server.port=9898
rocketmq.config.namesrvAddr set rocketmq.config.namesrvAddr=10.0.2.103:9876
listenPort set listenPort=9876
bindAdress set bindAdress=10.0.2.103
namesrvAddr set namesrvAddr=10.0.2.103:9876
brokerIP1 set brokerIP1=10.0.2.103
storePathRootDir set storePathRootDir=/opt/gdom/install/rocketmq/rocketmq-all-5.2.0-bin-release/store
storePathCommitLog set storePathCommitLog=/opt/gdom/install/rocketmq/rocketmq-all-5.2.0-bin-release/store/commitlog
RocketMQ 设置成功
---------------------Nginx-------------------------------
========= 10.0.2.103 ===========
gdom-user, gdom
nginx.conf set gdom-user=gdom
gdom-client, /opt/gdom/install/dist
nginx.conf set gdom-client=/opt/gdom/install/dist
nginx-port, 8810
nginx.conf set nginx-port=8810
gdom-services, server 10.0.2.103:8080;
nginx.conf set gdom-services=server 10.0.2.103:8080;
Nginx 设置成功
---------------------GDOM Service------------------------
========= 10.0.2.103 ===========
APP set server.port=8080
APP set gdom-service.profile=/opt/gdom
APP set gdom-service.version=v3.2.0-build2
APP set gdom-service.serverId=1
APP set gdom-service.serverIp=10.0.2.103
APP set logging.config=/opt/gdom/install/gdom-service/config/log4j2-spring.xml
LOG set gdomLogs=/opt/gdom/install/gdom-service/logs
APP set gdom.datasource.druid.master.driver=org.postgresql.Driver
APP set gdom.datasource.druid.master.url=jdbc:postgresql://10.0.2.103:5432/gdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
APP set gdom.datasource.druid.master.username=postgres
APP set gdom.datasource.druid.master.password=dVFIIHIxM5KGmDHjW4VKgQ==
APP set gdom.datasource.druid.analysis.url=jdbc:gbase://10.0.2.103:6258/gdom_real?useOldAliasMetadataBehavior=true&useUnicode=true&characterSetResults=UTF-8&gclusterId=gdom1&failoverEnable=true&hostList=10.0.2.103
APP set gdom.datasource.druid.analysis.username=gbase2
APP set gdom.datasource.druid.analysis.password=S9ljR/IQe3DDqnAB2a5xXA==
APP set gdom.datasource.druid.analysis-history.url=jdbc:gbase://10.0.2.103:6258/gdom_history?useOldAliasMetadataBehavior=true&useUnicode=true&characterSetResults=UTF-8&gclusterId=gdom1&failoverEnable=true&hostList=10.0.2.103
APP set gdom.datasource.druid.analysis-history.username=gbase2
APP set gdom.datasource.druid.analysis-history.password=S9ljR/IQe3DDqnAB2a5xXA==
APP set spring.redis.host=10.0.2.103
APP set spring.redis.port=7481
APP set spring.redis.database=0
APP set rocketmq.name-server=10.0.2.103:9876
GDOM Service 设置成功

#########################################################
                    资源库初始化
#########################################################

跳过,使用第三方资源库
#########################################################
                    分析库初始化
#########################################################

========= 10.0.2.103 ===========
清理安装目录
安装目录清理完成
初始化开始
gbase_8a_gbase8a.cnf set port=6258
gbase_8a_gbase8a.cnf set socket=/opt/gdom/install/gbase/GBase/server/bin/gbase_8a_6258.sock
初始化完成
GBase8a启动...
GBase8a启动成功
gbase2 创建、授权 完成
GBase8a 设置成功
#########################################################
                   GDOM 数据初始化
#########################################################

----------------------资源库-----------------------------
请连接jdbc:postgresql://10.0.2.103:5432/gdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true服务,执行/opt/gdom/install/sql中的初始化sql
MySQL依次执行:
        初始化表结构:  /opt/gdom/install/sql/gdom_init.sql
        初始化数据:  /opt/gdom/install/sql/gdom_init_data.sql
PostgreSQL依次执行:
        初始化表结构:  /opt/gdom/install/sql/gdom_init_pg.sql
        初始化数据:  /opt/gdom/install/sql/gdom_init_data_pg.sql

----------------------分析库-----------------------------
10.0.2.103 GBase 已启动
10.0.2.103 gdom_real数据库【表结构】初始化成功
10.0.2.103 gdom_history数据库【表结构】初始化成功
10.0.2.103 gdom_real数据库【存储过程】初始化成功
10.0.2.103 gdom_history数据库【存储过程】初始化成功
10.0.2.103 GBase 已停止
分析库 gdom_real、gdom_history 初始化完成

#########################################################
                  GDOM  安装部署完成
#########################################################

[gdom@gbase_rh7_003 GDOM-v3.2.0-build2-redhat7-x86_64]$ 

初始化PG数据库

用pg的客户端或其它工具,执行如下2个初始化脚本。第一个是表结构,第二个是数据。

### 初始化第三方pg资源库
如下文件名,请根据实际目录和文件名字做调整。一个是初始化表结构,一个是初始化数据。
psql -d gdom -f /opt/gdom/install/sql/gdom_init_pg.sql
psql -d gdom -f /opt/gdom/install/sql/gdom_init_pg_data.sql

启动GDOM服务

使用gdomStart.sh -a启动所有服务


[gdom@gbase_rh7_003 GDOM-v3.2.0-build2-redhat7-x86_64]$ ./gdomStart.sh  -a

   ____ ____   ___  __  __   _____  ____
  / ___|  _ \ / _ \|  \/  | |___ / |___ \
 | |  _| | | | | | | |\/| |   |_ \   __) |
 | |_| | |_| | |_| | |  | |  ___) | / __/
  \____|____/ \___/|_|  |_| |____(_)_____|

        版本: GDOM-v3.2.0-build2

#########################################################
                   GDOM 服务启动开始
#########################################################

---------------------GDOM DB-------------------------
跳过,使用第三方资源库

---------------------HaProxy-------------------------
单节点部署,未使用高可用策略

---------------------GBase---------------------------
10.0.2.103 GBase 正在启动,请等待 ...

.10.0.2.103 GBase 连接成功

GBase服务启动成功

---------------------Redis---------------------------
10.0.2.103 Redis 正在启动,请等待 ...

10.0.2.103 Redis 连接成功

Redis服务启动成功

---------------------Nginx---------------------------
10.0.2.103 Nginx 正在启动,请等待 ...

10.0.2.103 Nginx 连接成功

Nginx服务启动成功

---------------------RocketMQ------------------------
10.0.2.103 RocketMQ 正在启动,请等待 ...

.10.0.2.103 RocketMQ 连接成功

RocketMQ服务启动成功

---------------------GDOM Service--------------------
10.0.2.103 GDOM Service 正在启动, 请等待 ...

..............10.0.2.103 GDOM Service 连接成功

GDOM后端服务启动成功

#########################################################
                  GDOM 服务启动完成
#########################################################

访问地址 http://10.0.2.103:8810

[gdom@gbase_rh7_003 GDOM-v3.2.0-build2-redhat7-x86_64]$ 

访问GDOM

通过安装的IP和端口,访问gdom服务。 本例因为是安装到了虚拟机,所以用了一个IP映射。

停止服务

[gdom@gbase_rh7_003 GDOM-v3.2.0-build2-redhat7-x86_64]$ ./gdomStop.sh  -s

   ____ ____   ___  __  __   _____  ____
  / ___|  _ \ / _ \|  \/  | |___ / |___ \
 | |  _| | | | | | | |\/| |   |_ \   __) |
 | |_| | |_| | |_| | |  | |  ___) | / __/
  \____|____/ \___/|_|  |_| |____(_)_____|

        版本: GDOM-v3.2.0-build2

#########################################################
                  GDOM  停止服务开始
#########################################################

--------------------GDOM Service---------------------
10.0.2.103 GDOM Service 正在停止,请等待 ...

10.0.2.103 GDOM Service 停止成功

GDOM后端服务停止成功

#########################################################
                  GDOM 服务停止完成
#########################################################

[gdom@gbase_rh7_003 GDOM-v3.2.0-build2-redhat7-x86_64]$ 

总结

GBase 8a WEB运维管理管理系统GDOM 3.2B2, 支持使用第三方postgresql作为实时库的存储。后续版本预计可能支持

  • 自动初始化pg
  • 自动安装全新pg