目录

前言

1 项目简介

2 环境准备

2.1 注意事项

2.2 支持的服务器系统

2.3 环境概要

2.4 文档汇总

2.5 软件包获取

2.5.1 Datakit软件包获取

2.5.2 openGauss软件包获取

2.5.3 openJDK11包获取

2.6 上传 datakit-about.zip 到服务器

2.7 设置主机名和IP地址解析

2.7.1 设置主机名

2.7.2 IP地址解析

2.7.3 刷新主机名

2.8 关闭防火墙

2.9 关闭selinux

2.9.1 立即关闭

2.9.2 修改配置文件

2.10 安装Datakit平台使用的数据库

2.11 opengauss数据库管理和配置

2.11.1 查看启动状态

2.11.2 设置访问数据库的白名单

2.11.3 修改数据库参数

2.11.4 重启openGauss服务并查看启动状态

2.11.5 创建用户

2.12 安装openJDK11

3 安装部署 Datakit

3.1 Datakit 有两种部署方式:

3.2 创建 datakit 工作目录

3.3 将 Datakit 安装包移动到 /ops 目录

3.4 解压安装包

3.5 修改配置文件

3.5.1 将配置文件移动到 /ops/config 目录下

3.5.2 编辑配置文件

3.6 创建密钥文件

3.6.1 切换到 openJDK11 环境,并查看 JDK 版本

3.6.2 创建密钥文件

3.7 执行启动命令

4 Datakit的使用

4.1 登录管理界面


前言

目前最新版本 Datakit 5.1和 Datakit 5.0 版本相比有不小的差异,仓库结构已发生变化,之前的文档已不适用。本文将分享整理好的最新版的 Datakit 实践手册,以及个人使用经验,供广大openGauss爱好者参考。

1 项目简介

本项目是基于Web的openGauss的可视化的一体化工具:DataKit,目的是方便客户使用和管理openGauss可视化工具,可以为客户降低openGauss数据库安装使用门槛,做到安全中心管理,插件管理,将上层的开发运维工具插件化,各插件之间相互独立,方便用户按需引入。各插件围绕DataKit的资源中心进行扩展,提供一键化部署、卸载、组件化安装、多版本升级和日常运维、监控、迁移、开发、建模等复杂的操作。

2 环境准备

2.1 注意事项

  • 当前平台运行依赖于openJDK11

  • 平台使用的数据库,当前仅支持openGauss数据库,并且需要提前创建database

  • 需要将部署服务器IP配置在平台使用的数据库openGauss的白名单列表中。

2.2 支持的服务器系统

openEuler 20.3LTS(x86_x64,ARM)
centos7.x(x86_x64)

注:
经验证,在openEuler 22.03 LTS可以完美运行。

查看操作系统版本

[root@localhost ~]# cat /etc/os-release 
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"

2.3 环境概要

本文基于openEuler 22.03 LTS操作系统部署Datakit 5.1.1

2.4 文档汇总

  • openGauss官方文档

https://docs-opengauss.osinfra.cn/zh/docs/5.1.0/docs/ToolandCommandReference/DataKit.html
  • 使用文档及开发文档

https://gitee.com/opengauss/openGauss-workbench/tree/master/openGauss-datakit/doc

2.5 软件包获取

这里我已经将用到的各种离线包整理到datakit-about.zip,在后台发送 datakit 即可获取。

你也可以联网安装或者下载对应的离线包进行安装。

2.5.1 Datakit软件包获取

有以下两种方式

  • 通过openGauss官网下载

https://opengauss.org/zh/download/

  • 通过opengauss官方gitee仓库下载

# 仓库地址
https://gitee.com/opengauss/openGauss-workbench
# 当前最新版本安装包地址
https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/Datakit/Datakit-5.1.1.tar.gz

openGauss官方gitee仓库的安装包一般会比openGauss官网的安装包版本高,包含最新功能和基础修复。

2.5.2 openGauss软件包获取

从openEuler 22.03 LTS版本开始,操作系统镜像自带openGauss RPM包,可以通过rpm或yum方式安装,支持arm64和x86_64两种架构。

openEuler22.03 LTS 的镜像地址为:

https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS

你可在上述地址中下载对应的RPM包。

# opengauss安装包
opengauss-2.1.0-5.oe2203.x86_64.rpm# 依赖包
java-1.8.0-openjdk-1.8.0.352.b08-3.oe2203.x86_64.rpm
java-1.8.0-openjdk-devel-1.8.0.352.b08-3.oe2203.x86_64.rpm
java-1.8.0-openjdk-headless-1.8.0.352.b08-3.oe2203.x86_64.rpm

2.5.3 openJDK11包获取

# openjdk11安装包
java-11-openjdk-11.0.20.8-0.oe2203.x86_64.rpm
java-11-openjdk-devel-11.0.20.8-0.oe2203.x86_64.rpm
java-11-openjdk-headless-11.0.20.8-0.oe2203.x86_64.rpm# 依赖包
giflib-5.2.1-4.oe2203.x86_64.rpm

2.6 上传 datakit-about.zip 到服务器

# 创建安装包存放目录
[root@localhost ~]# mkdir -p /soft/
# 上传 datakit-about.zip 到 /soft 并解压
[root@localhost ~]# cd /soft
[root@localhost /soft]# unzip datakit-about.zip
# 解压后的目录结构如下
├── datakit
│   └── Datakit-5.1.1.tar.gz
├── opengaussrpm
│   ├── java-1.8.0-openjdk-1.8.0.352.b08-3.oe2203.x86_64.rpm
│   ├── java-1.8.0-openjdk-devel-1.8.0.352.b08-3.oe2203.x86_64.rpm
│   ├── java-1.8.0-openjdk-headless-1.8.0.352.b08-3.oe2203.x86_64.rpm
│   └── opengauss-2.1.0-5.oe2203.x86_64.rpm
└── openjdk11
    ├── giflib-5.2.1-4.oe2203.x86_64.rpm
    ├── java-11-openjdk-11.0.20.8-0.oe2203.x86_64.rpm
    ├── java-11-openjdk-devel-11.0.20.8-0.oe2203.x86_64.rpm
    └── java-11-openjdk-headless-11.0.20.8-0.oe2203.x86_64.rpm

3 directories, 9 files

2.7 设置主机名和IP地址解析

2.7.1 设置主机名

[root@localhost ~]# hostnamectl set-hostname trex

2.7.2 IP地址解析

[root@localhost ~]# echo '192.168.7.100 trex' >> /etc/hosts

2.7.3 刷新主机名

[root@localhost ~]# su
[root@trex ~]#

可以看到主机名从默认的localhost变成了trex.

2.8 关闭防火墙

# 关闭防火墙
[root@trex ~]# systemctl stop firewalld.service
# 禁止开机自启
[root@trex ~]# systemctl disable firewalld.service

2.9 关闭selinux

2.9.1 立即关闭

[root@trex ~]# setenforce 0

注:
重启操作系统后失效。

2.9.2 修改配置文件

编辑/etc/sysconfig/selinux,将SELINUX=enforcing修改为SELINUX=disabled

sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

注:
需要重启操作系统,永久生效。

2.10 安装Datakit平台使用的数据库

如文章前面所说,该平台目前仅支持openGauss

  • 联网方式安装

yum install opengauss -y
  • 离线方式安装

# cd /soft/datakit-about/opengaussrpm/
[root@trex opengaussrpm]# rpm -ivh *.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:java-1.8.0-openjdk-headless-1:1.8################################# [ 25%]
   2:java-1.8.0-openjdk-1:1.8.0.352.b0################################# [ 50%]
   3:java-1.8.0-openjdk-devel-1:1.8.0.################################# [ 75%]
   4:opengauss-2.1.0-5.oe2203         ################################# [100%]
Created symlink /etc/systemd/system/multi-user.target.wants/opengauss.service → /usr/lib/systemd/system/opengauss.service.
Init openGauss database success.
Start openGauss database success.

2.11 opengauss数据库管理和配置

2.11.1 查看启动状态

# 切换到opengauss用户
[root@trex ~]# su - opengauss
# 查看opengauss启动状态
[opengauss@trex ~]$ gs_ctl status
# 打印信息如下
[2023-12-06 11:50:31.604][69114][][gs_ctl]: gs_ctl status,datadir is /var/lib/opengauss/data 
gs_ctl: server is running (PID: 61978)
/usr/local/opengauss/bin/gaussdb "-D" "/var/lib/opengauss/data"

显示server is running表示状态正常。

注:
openGauss服务管理常用命令如下

  • 启动 gs_ctl start

  • 关闭 gs_ctl stop

  • 重启 gs_ctl restart

  • 状态 gs_ctl status

2.11.2 设置访问数据库的白名单

这里设置为允许任何IP地址的客户端通过TCP/IP访问到openGauss数据库

# 进入openGauss数据目录
[opengauss@trex ~]$ cd $PGDATA
# 在修改前先备份,避免异常情况
[opengauss@trex data]$ cp pg_hba.conf pg_hba.conf.bak
# 追加配置信息
[opengauss@trex data]$ echo 'host    all             all             0.0.0.0/0               md5' >> pg_hba.conf

参数详解:

  • host:表示这个规则适用于TCP/IP连接。

  • all:表示这个规则适用于所有数据库和所有用户。

  • 0.0.0.0/0:是一个CIDR格式的IP地址范围,表示允许任何IP地址的客户端进行连接。

  • md5:表示使用MD5加密方式对密码进行验证。

2.11.3 修改数据库参数

# 设置监听所有ip
[opengauss@trex ~]$ sed -i "s/^listen_addresses = .*/listen_addresses = '*'/" postgresql.conf
# 修改加密算法为0
[opengauss@trex ~]$ sed -i "s/^#password_encryption_type = .*/password_encryption_type = 0/" postgresql.conf
# 修改最大连接数为1000
[opengauss@trex ~]$ sed -i "s/^max_connections = .*/max_connections = 1000/" postgresql.conf

查看是否修改正确

[opengauss@trex ~]$ grep -E 'listen_addresses|password_encryption_type|max_connections' postgresql.conf

参数详解:
listen_addresses = ‘*’ # 监听所有ip
password_encryption_type = 0 # 加密算法
max_connections = 1000 # 最大连接数

2.11.4 重启openGauss服务并查看启动状态

修改后参数后,需要重启 openGauss 服务方可生效

[opengauss@trex ~]$ gs_ctl restart > /dev/null 2>&1
# 查看启动状态
[opengauss@trex ~]$ gs_ctl status

2.11.5 创建用户

# 登录数据库(操作系统命令)
[opengauss@trex ~]$ gsql -d postgres -p 7654 -r
# 初次登录需要修改密码(sql命令)
openGauss=# ALTER ROLE opengauss PASSWORD 'Trex@123';
# 创建用户(sql命令)
openGauss=# CREATE USER trex IDENTIFIED BY 'Trex@123';
# 授权(sql命令)
openGauss=# ALTER USER trex SYSADMIN;
# 创建数据库(sql命令)
openGauss=# create database trexdb;
# 退出sql(sql命令)
openGauss=# \q

2.12 安装openJDK11

root用户执行

  • 联网方式安装

[root@trex ~]# yum install -y java-11-openjdk
  • 离线方式安装

[root@trex ~]# cd /soft/datakit-about/openjdk11/
[root@trex openjdk]# rpm -ivh *.rpm

细心的读者应该会发现,前面在使用 rpm 或 yum 命令安装 opengauss 时,安装了依赖包 openJDK8,而 Datakit 平台依赖 openJDK11,系统中当前存在两个版本的 JDK,不会冲突吧?

咱们通过命令查一下

[root@trex openjdk]# rpm -qa | grep openjdk

结果如下图

 

果然存在两个版本的 JDK,会冲突吗?

答案是:两个版本的 openJDK 是可以共存的。后面会提到,这里不再赘述。

3 安装部署 Datakit

root用户执行

3.1 Datakit 有两种部署方式:

  • jar 包方式部署

  • docker 方式部署

下面先以 jar 包方式安装进行演示

3.2 创建 datakit 工作目录

[root@trex ~]# mkdir -p /ops/{logs,config,ssl,files}

3.3 将 Datakit 安装包移动到 /ops 目录

[root@trex ~]# cd /soft/datakit-about/datakit/
[root@trex datakit]# mv Datakit-5.1.1.tar.gz /ops/

3.4 解压安装包

[root@trex datakit]# cd /ops
[root@trex datakit]# tar -xf Datakit-5.1.1.tar.gz

执行ls命令可以看到如下信息

[root@trex ops]# ls
application-temp.yml  Datakit-5.1.1.tar.gz  files  openGauss-datakit-5.1.1.jar  visualtool-plugin
config                doc                   logs   ssl

3.5 修改配置文件

3.5.1 将配置文件移动到 /ops/config 目录下

[root@trex ops]# mv /ops/application-temp.yml /ops/config/

3.5.2 编辑配置文件

[root@trex ops]# vi /ops/config/application-temp.yml

修改application-temp.yml文件中的数据链接信息ip、port、database、dbuser、dbpassword
按照你的实际环境进行修改,这里修改后的文件内容如下

system:
  # File storage path
  defaultStoragePath: /ops/files
  # Whitelist control switch
  whitelist:
    enabled: false
server:
  port: 9494
  ssl:
    key-store: /ops/ssl/keystore.p12
    key-store-password: 123456
    key-store-type: PKCS12
    enabled: true
  servlet:
    context-path: /
logging:
  file:
    path: /ops/logs/
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: org.opengauss.Driver
    url: jdbc:opengauss://192.168.7.100:7654/trexdb?currentSchema=public&batchMode=off
    username: trex
    password: Trex@123
    druid:
      test-while-idle: true
      test-on-borrow: true
      validation-query: "select 1"
      validation-query-timeout: 10000
      connection-error-retry-attempts: 0
      break-after-acquire-failure: true
      max-wait: 6000
      keep-alive: true
      max-active: 30
      min-evictable-idle-time-millis: 600000
management:
  server:
    port: 9494

3.6 创建密钥文件

这里使用keytool工具生成密钥,需要注意的是keytool -genkey命令用于创建SSL文件(包括密钥对和证书),并且它与 JDK (Java Development Kit)是有关系的。keytool 是JDK提供的一个工具,用于管理密钥库和证书,用于加密和身份验证等安全通信。而我们前面提到该平台依赖JDK11环境,所以这里使用JDK11来创建密钥文件。

3.6.1 切换到 openJDK11 环境,并查看 JDK 版本

# 查看当前jdk版本[root@trex config]# java -version# 切换版本到jdk11
[root@trex config]# alternatives --config java# 再次查看当前jdk版本
[root@trex config]# java -version# 执行结果如下

图片

 

3.6.2 创建密钥文件

keytool -genkey -noprompt \
    -dname "CN=opengauss, OU=opengauss, O=opengauss, L=Beijing, S=Beijing, C=CN"\
    -alias opengauss\
    -storetype PKCS12 \
    -keyalg RSA \
    -keysize 2048 \
    -keystore /ops/ssl/keystore.p12 \
    -validity 3650 \
    -storepass 123456

执行完成后,会在/ops/ssl/下生成密钥文件keystore.p12

注意:
storepass与配置文件application-temp.yml中的key-store-password保持一致
keystore路径与配置文件application-temp.yml中的key-store路径保持一致

3.7 执行启动命令

# 进入 /ops 目录
cd /ops
# 启动程序
nohup java -Xms2048m -Xmx4096m -jar openGauss-datakit-5.1.1.jar --spring.profiles.active=temp >datakit.out 2>&1 &

注:
可以通过tail -20f datakit.out查看运行日志

4 Datakit的使用

4.1 登录管理界面

在浏览器中打开如下地址

https://192.168.7.100:9494

图片

因为浏览器有安全保护,这里点击【高级】——选择继续前往即可进入登录界面。

图片

图片

平台默认的登录账号密码:admin/admin123,首次登录会提示时重置默认密码。

图片

进入主界面

图片

至此,通过jar包方式已成功部署openGauss Datakit。

|转自:霸王龙的日常

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐