openGaussDatakit让运维如丝般顺滑!

2023-12-13 16:42:34

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
? 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
??????感谢各位大可爱小可爱!??????

前言

openGauss社区全新升级社区工具DataKit,其集成目前openGauss所有相关工具,形成工具超市,开发和运维人员可快速按需找到所需工具,方便快捷

📣 1.openGauss Datakit

针对行业应用过程中的业务建模、开发、管理、安装部署和迁移运维openGauss社区联合伙伴开发了大量工具,帮助用户从使用数据库到实现数据全生命周期的管理。openGauss社区全新升级社区工具DataKit,其集成目前openGauss所有相关工具,形成工具超市,开发和运维人员可快速按需找到所需工具,方便快捷。

在这里插入图片描述

? 1.1 原理简介

DataKit是基于spring-brick开发的插件化的工具,前台使用vue,后台使用spring-bot技术栈。DataKit基座提供资源管理,安全中心,日志中心等基础的公共能力,具体的数据库安装,运维,监控,数据迁移等能力是基于spring-brick开发的插件工具,
可以灵活的在基座上面安装卸载,方便客户按需使用。

? 1.2 特性优势

1)初级用户学习openGauss门槛高让你望而却步?
openGauss Datakit一键化安装企业版集群、监控、日志分析、SQL诊断,让你快速上手,快速部署,从容面对企业环境!

2)不同openGauss版本运维命令让你晕头转向?
openGauss Datakit屏蔽命令差异,可视化操作,屏蔽命令差异,让你不再为细节犯愁,轻松驾驭openGauss数据库!

3)数据迁移和校验速度慢成了难题?
openGauss Datakit携手全新迁移工具集,图形化、批量并行迁移全流程,速度大幅提升,告别烦恼!

4)openGauss的监控和日志分析让你头疼?
openGauss Datakit一站式解决方案,让你轻松掌控数据库状态!

📣 2.安装包下载解压

1.官网下载地址
https://opengauss.org/zh/download/
上传安装包Datakit-5.0.0.tar.gz到/opt目录下并解压

cd /opt
tar -xvf Datakit-5.0.0.tar.gz

[root@centos79 opt]# tar -xvf Datakit-5.0.0.tar.gz
./application-temp.yml
./base-ops-5.0.0-repackage.jar
./base-ops-README.md
./data-migration-5.0.0-repackage.jar
./data-migration-README.md
./data-studio-readme.md
./observability-instance-5.0.0-repackage.jar
./observability-instance-README.md
./observability-log-search-5.0.0-repackage.jar
./observability-log-search-README.md
./observability-sql-diagnosis-5.0.0-repackage.jar
./observability-sql-diagnosis-README.md
./visualtool-main.jar
./visualtool-README.md
./webds-plugin-5.0.0-repackage.jar

在这里插入图片描述

📣 3.安装openGauss数据库

DataKit当前仅支持openGauss数据库,并且需要提前创建database。这里采用最简单的一种方式——通过RPM方式安装极简版的openGauss。
可以通过以下方式下载极简版的openGauss

在这里插入图片描述

? 3.1 前提条件

已完成用户组和普通用户的创建。
所有服务器操作系统和网络均正常运行。
普通用户必须有数据库包解压路径、安装路径的读、写和执行操作权限,并且安装路径必须为空。
普通用户对下载的openGauss压缩包有执行权限。
安装前请检查指定的openGauss端口是否被占用,如果被占用请更改端口或者停止当前使用端口进程。

##host设置
echo "192.168.6.20 centos79" >>/etc/hosts

/etc/security/limits.conf内的值修改
* hard nofile 1048576
* soft nofile 1048576

##java jdk安装 jdk-11.0.21_linux-x64_bin.rpm
https://www.oracle.com/java/technologies/downloads/#java11

[root@centos79 opt]# rpm -ivh jdk-11.0.21_linux-x64_bin.rpm
warning: jdk-11.0.21_linux-x64_bin.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk-11-2000:11.0.21-9            ################################# [100%]
   
##关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

? 3.2 用户及组

1.创建用户组dbgroup
[root@centos79 ~]# groupadd dbgroup

2.创建用户opengauss
创建用户组dbgroup下的普通用户opengauss,并设置普通用户opengauss的密码
[root@centos79 ~]# useradd -g dbgroup opengauss
[root@centos79 ~]# passwd opengauss

? 3.3 解压安装包

3.解压安装目录
使用omm用户登录到openGauss包安装的主机,解压openGauss压缩包到安装目录,这里我们设置目录为:
/opt/software/openGauss
[root@centos79 ~]# mkdir -p /app/openGauss
[root@centos79 ~]# chmod 755 -R /opt/openGauss-5.0.0-CentOS-64bit.tar.bz2
[root@centos79 ~]# chown opengauss:dbgroup -R /opt/openGauss-5.0.0-CentOS-64bit.tar.bz2

[root@centos79 ~]# chmod 755 -R /app/openGauss
[root@centos79 ~]# chown opengauss:dbgroup -R /app/openGauss

[root@centos79 ~]# su - opengauss
[opengauss@centos79 ~]$ cd /app/openGauss
[opengauss@centos79 openGauss]$ tar -jxf /opt/openGauss-5.0.0-CentOS-64bit.tar.bz2 -C /app/openGauss

? 3.4 安装openGauss

##进入解压后目录下的simpleInstall,执行install.sh脚本安装openGauss
[root@centos79 ~]# su - opengauss
[opengauss@centos79 ~]# cd /app/openGauss/simpleInstall

sh install.sh -w “jeames@007” &&source ~/.bashrc

在这里插入图片描述

#登录opengauss
[opengauss@centos79 ~]$ gsql -d postgres
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:07:56 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=# \l
                                   List of databases
   Name    |   Owner   | Encoding |   Collate   |    Ctype    |    Access privileges    
-----------+-----------+----------+-------------+-------------+-------------------------
 finance   | opengauss | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres  | opengauss | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 school    | opengauss | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | opengauss | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/opengauss           +
           |           |          |             |             | opengauss=CTc/opengauss
 template1 | opengauss | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/opengauss           +
           |           |          |             |             | opengauss=CTc/opengauss
(5 rows)

? 3.5 参数修改

##编辑 postgresql.conf
[opengauss@centos79 ~]$ cd $GAUSSHOME/data/single_node
修改下面两个参数
listen_addresses = '*'
max_connections = 1000


##编辑 pg_hba.conf
文末追加
host    all             all             0.0.0.0/0                 sha256

重启openGauss服务
gs_ctl restart -D $GAUSSHOME/data/single_node -Z single_node

登录数据库
[opengauss@centos79 ~]$ gsql -d postgres

修改openGauss密码即可
ALTER ROLE opengauss PASSWORD 'Admin@123';

创建用户
CREATE USER jeames IDENTIFIED BY  'jeames@123';

授权
alter user jeames sysadmin;

创建数据库
create database admindb;

📣 4 jar离线部署Datakit

? 4.1 datakit工作目录

创建datakit工作目录,并在工作目录中创建存放系统运行数据的子目录
[root@centos79 ~]# mkdir -p /app/ogdatakit/{logs,config,ssl,files,visualtool-plugin}

将visualtool-main.jar包复制到 /app/ogdatakit 下
[root@centos79 ~]# cp /opt/visualtool-main.jar /app/ogdatakit

将插件base-ops-5.0.0-repackage.jar复制到/app/ogdatakit/visualtool-plugin
[root@centos79 ~]# cp /opt/base-ops-5.0.0-repackage.jar /app/ogdatakit/visualtool-plugin

? 4.2 修改配置文件

将配置文件application-temp.yml 复制到 /app/ogdatakit/config/下
修改application-temp.yml文件中的数据链链接ip、port、database、dbuser、dbpassword。

[root@centos79 ~]# cp /opt/application-temp.yml /app/ogdatakit/config/
[root@centos79 ~]# chmod 755 -R /app/ogdatakit
[root@centos79 ~]# chown opengauss:dbgroup -R /app/ogdatakit


修改如下部分内容
vi /app/ogdatakit/config/application-temp.yml

system:
  # File storage path
  defaultStoragePath: /ops/files
  # Whitelist control switch
  whitelist:
    enabled: false
server:
  port: 9494
  ssl:
    key-store: /home/opengauss/ssl/keystore.p12
    key-store-password: 123456
    key-store-type: PKCS12
    enabled: true
  servlet:
    context-path: /
logging:
  file:
    path: /home/opengauss/server/openGauss-visualtool/logs/
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: org.opengauss.Driver
    url: jdbc:opengauss://192.168.6.20:5432/admindb?currentSchema=public
    username: jeames
    password: jeames@123
    druid:
      test-while-idle: false
      test-on-borrow: true
      validation-query: "select 1"
      validation-query-timeout: 10000
      connection-error-retry-attempts: 0
      break-after-acquire-failure: true
      max-wait: 3000
management:
  server:
    port: 9494

在这里插入图片描述

? 4.3. 创建ssl文件

keytool -genkey 命令用于创建 SSL 文件(包括密钥对和证书),并且它与 JDK(Java Development Kit)是有关系的。
keytool 是 JDK 提供的一个工具,用于管理密钥库和证书,用于加密和身份验证等安全通信。

切换到openJDK11环境,并验证版本
alternatives --config java
java -version


[root@centos79 ~]# mkdir -p /ops/ssl/
[root@centos79 ~]# chmod 755 -R /ops/ssl/
[root@centos79 ~]# chown opengauss:dbgroup -R /ops/ssl/
[root@centos79 ~]# su - opengauss

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 /home/opengauss/ssl/keystore.p12 \
    -validity 3650 \
    -storepass 123456

在这里插入图片描述

? 3.6 启动命令

[root@centos79 ~]# su  - opengauss

nohup java -Xms2048m -Xmx4096m -jar /app/ogdatakit/visualtool-main.jar \
--spring.profiles.active=temp >/app/ogdatakit/logs/visualtool-main.out 2>&1 &


##查看日志
tail -200f /app/ogdatakit/logs/visualtool-main.out

在浏览器中打开如下地址:https://192.168.6.20:9494
平台默认的登录账号密码:admin/admin123,请在首次登录后及时修改密码。

在这里插入图片描述
在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_41645135/article/details/134016239
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。