【万字实操】可视化运维平台openGauss Datakit,带你轻松玩转openGauss 5.0
openGauss Datakit:
openGauss社区推出的可视化的运维工具.
特性优势
初级用户学习openGauss门槛高让你望而却步?
openGauss Datakit一键化安装企业版集群、监控、日志分析、SQL诊断,让你快速上手,快速部署,从容面对企业环境!不同openGauss版本运维命令让你晕头转向?
openGauss Datakit屏蔽命令差异,可视化操作,屏蔽命令差异,让你不再为细节犯愁,轻松驾驭openGauss数据库!数据迁移和校验速度慢成了难题?
openGauss Datakit携手全新迁移工具集,图形化、批量并行迁移全流程,速度大幅提升,告别烦恼!openGauss的监控和日志分析让你头疼?
openGauss Datakit一站式解决方案,让你轻松掌控数据库状态!
openGaussDatakit,开启数据库畅玩时代,让运维如丝般顺滑!
完全干货,本文将从实操方面手把手带你安装Datakit以及使用Datakit部署openGauss5.0.0集群。
注意事项
当前平台运行依赖于openJDK11
平台使用的数据库,当前仅支持openGauss数据库,并且需要提前创建database
如果有防火墙,需要将部署服务器IP配置在平台使用的数据库(openGauss)的白名单列表中
平台默认的登录账号密码:admin/admin123,请在首次登录后及时修改密码
注:
本文基于openEuler release 22.03 LTS x86_64部署openGaussDatakit5.0.0
Datakit的安装
1 环境准备
1.1 创建安装包存放目录
mkdir -p /soft/我这里已经将用到的各种包整理到datakit-about.zip
datakit下载地址:
https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/Datakit/Datakit-5.0.0.tar.gz
上传datakit-about.zip到/soft并解压
cd /softunzip datakit-about.zip
解压后的目录结构如下
/soft/datakit-about├── datakit
│ └── Datakit-5.0.0.tar.gz
├── docker
│ └── docker-engine-18.09.0-300.oe2203.x86_64.rpm
├── openGaussRPM
│ └── opengauss-2.1.0-5.oe2203.x86_64.rpm
└── openjdk
├── giflib-5.2.1-4.oe2203.x86_64.rpm
├── java-11-openjdk-11.0.20.8-0.oe2203.x86_64.rpm
├── java-11-openjdk-headless-11.0.20.8-0.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
1.2 解压Datakit-5.0.0.tar.gz
cd /soft/datakit-about/datakit/tar -xvf Datakit-5.0.0.tar.gz
解压后的Datakit-5.0.0目录结构如下
/soft/datakit-about/datakit/├── alert-monitor-5.0.0-repackage.jar
├── alert-monitor-README.md
├── application-temp.yml
├── base-ops-5.0.0-repackage.jar
├── base-ops-README.md
├── Datakit-5.0.0.tar.gz
├── data-migration-5.0.0-repackage.jar
├── data-migration-README.md
├── data-studio-readme.md
├── monitor-tools-1.0.0-repackage.jar
├── 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
├── openGauss-tools-monitor-README.md
├── visualtool-main.jar
├── visualtool-README.md
└── webds-plugin-5.0.0-repackage.jar
2 安装docker
cd /soft/datakit-about/docker/注:
jar方式安装Datakit时略过此步骤
rpm -ivh *.rpm
3 安装openJDK11
cd /soft/datakit-about/openjdkrpm -ivh *.rpm
系统中安装多个jdk版本,可以使用alternatives命令来切换默认的Java版本,后面会提到。
4 安装openGauss数据库
该平台当前仅支持openGauss数据库,并且需要提前创建database。
这里采用最简单的一种方式——通过RPM方式安装极简版的openGauss。
rpm -ivh *.rpm
切换到openGauss用户
su - opengauss进入openGauss数据目录
cd $PGDATA编辑 postgresql.conf
vi postgresql.conf修改下面两个参数
listen_addresses = '*'max_connections = 1000
编辑 pg_hba.conf
vi pg_hba.conf文末追加
host all all 0.0.0.0/0 sha256重启openGauss服务
gs_ctl restart登录数据库
gsql -d postgres -p 7654 -r修改openGauss密码
初次登录,执行命令时会提示修改openGauss密码
出现如下信息
修改openGauss密码即可
ALTER ROLE opengauss PASSWORD 'Admin@123';创建用户
CREATE USER trex IDENTIFIED BY 'Trex@123';授权
alter user trex sysadmin;创建数据库
create database trexdb;5 安装部署
5.1 jar包方式(离线安装)
5.1.1 创建datakit工作目录,并在工作目录中创建存放系统运行数据的子目录
mkdir -p /ogdatakit/{logs,config,ssl,files,visualtool-plugin}5.1.2 将visualtool-main.jar包复制到 /ogdatakit 下
cd /ogdatakit/cp /soft/datakit-about/datakit/visualtool-main.jar .
5.1.3 将插件复制到/ogdatakit/visualtool-plugin
cp /soft/datakit-about/datakit/base-ops-5.0.0-repackage.jar /ogdatakit/visualtool-plugin5.1.4 修改配置文件
将配置文件application-temp.yml 复制到 /ogdatakit/config/下
修改application-temp.yml文件中的数据链链接ip、port、database、dbuser、dbpassword。
vi /ogdatakit/config/application-temp.yml
修改如下部分内容
5.1.5 修改配置文件中平台工作目录
sed -i s#/ops#$(pwd)#g config/application-temp.yml5.1.6 创建ssl文件
keytool -genkey 命令用于创建 SSL 文件(包括密钥对和证书),并且它与 JDK(Java Development Kit)是有关系的。keytool 是 JDK 提供的一个工具,用于管理密钥库和证书,用于加密和身份验证等安全通信。
切换到openJDK11环境,并验证版本
alternatives --config javajava -version
-dname "CN=opengauss, OU=opengauss, O=opengauss, L=Beijing, S=Beijing, C=CN"\
-alias opengauss\
-storetype PKCS12 \
-keyalg RSA \
-keysize 2048 \
-keystore $(pwd)/ssl/keystore.p12 \
-validity 3650 \
-storepass 123456
5.1.7 执行启动命令
nohup java -Xms2048m -Xmx4096m -jar $(pwd)/visualtool-main.jar \--spring.profiles.active=temp >$(pwd)/logs/visualtool-main.out 2>&1 &
5.1.8 查看执行日志
tail -200f /ogdatakit/logs/visualtool-main.out显示如下信息表示初始化完成
接下来就可以使用Datakit了,详见步骤 【Datakit的使用】
5.2 docker方式安装(联网安装)
5.2.1 创建datakit工作目录,并在工作目录中创建存放系统运行数据的子目录
mkdir -p /ogdatakit/{logs,config,ssl,files,visualtool-plugin}5.2.2 将visualtool-main.jar包复制到 /ogdatakit 下
cd /ogdatakit/cp /soft/datakit-about/datakit/visualtool-main.jar .
5.2.3 将插件复制到/ogdatakit/visualtool-plugin
cp /soft/datakit-about/datakit/*.jar /ogdatakit/visualtool-plugin5.2.4 修改配置文件
将配置文件application-temp.yml 复制到 /ogdatakit/config/下
修改application-temp.yml文件中的数据链链接ip、port、database、dbuser、dbpassword.
vi /ogdatakit/config/application-temp.yml
修改如下部分内容
5.2.5 创建ssl文件
keytool -genkey 命令用于创建 SSL 文件(包括密钥对和证书),并且它与 JDK(Java Development Kit)是有关系的。keytool 是 JDK 提供的一个工具,用于管理密钥库和证书,用于加密和身份验证等安全通信。
切换到openJDK11环境
alternatives --config java验证版本
java -version创建ssl文件
cd /ogdatakit/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 $(pwd)/ssl/keystore.p12 \
-validity 3650 \
-storepass 123456
5.2.6 编辑Dockerfile
cd /ogdatakit/vi Dockerfile
粘贴以下内容
FROM openjdk:11ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
EXPOSE 9494 5432
WORKDIR /ops/
ENTRYPOINT ["java","-Xms2048m","-Xmx4096m", "-jar", "visualtool-main.jar"]
5.2.7 构建镜像
cd /ogdatakit/docker build -f Dockerfile -t datakit:5.0.0 .
5.2.8 启动容器
cd /ogdatakit/docker run -idt -p 9494:9494 \
-v /etc/localtime:/etc/localtime:ro \
-v $(pwd):/ops \
--name datakit datakit:5.0.0 \
--spring.profiles.active=temp

显示的 a25f5fdda47531e9c9093e501e569a4aeba59b610581d11c2ff4be317108e697 为容器ID
列出当前正在运行的容器
docker ps显示如下
查看日志
docker logs -f datakit显示如下信息表示初始化完成
接下来就可以使用Datakit了,详见步骤 【Datakit的使用】
Datakit的使用
1 登录管理界面
在浏览器中打开如下地址:https://192.168.7.100:9494
平台默认的登录账号密码:admin/admin123,请在首次登录后及时修改密码。
进入主界面
2 安装部署openGauss集群
此处以安装一主一备集群为例进行演示
2.1 环境概要
主机名 操作系统 架构 IP trex01 openEuler20.03 x86_64 192.168.7.111 trex02 openEuler20.03 x86_64 192.168.7.1122.2 安装前准备
下载openGauss企业版安装包:https://opengauss.org/zh/download/
下载完成后会得到 openGauss-5.0.0-openEuler-64bit-all.tar.gz
2.2.1 创建用户组dbgrp及用户
groupadd dbgrp注:
1 操作系统root用户执行
2 trex01和trex02都操作
useradd -g dbgrp omm
passwd omm
密码这里设置为omm@123
2.2.2 给omm授予root权限
chmod u+w /etc/sudoersvi /etc/sudoers
追加如下内容
omm ALL=(ALL) NOPASSWD: ALL2.2.3 创建软件包路径并授权
mkdir -p /opt/software/openGausschmod +x /opt/software/openGauss/
chown -R omm:dbgrp /opt/software
2.2.4 在root用户下验证下述命令是否执行成功
su - omm -c 'cd /opt/software/openGauss/'注:
如果不成功,请检查上述3个步骤
2.2.5 安装依赖包
yum install libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel libnsl2 bzip2 python3 expect2.3 配置服务器信息
进入Datakit管理界面
2.3.1 配置trex01
新增物理机
注
1 准确的来说,界面上应该是新增服务器,这里物理机和虚拟机均可
2 如果服务器只有一个网卡,内外网ip可以设置成同一个。
3 端口为ssh端口
4 密码:操作系统root密码
添加普通用户
注
这里添加的用户是在2.2.1步骤创建的omm用户
2.3.2 配置trex02
以配置trex01同样的方法,配置trex02
2.3.3 配置信息预览
trex01和trex02配置完成后,显示如下
2.4 集群安装
2.4.1 选择安装的openGauss版本
此处以企业版为例
2.4.2 选择安装方式
这里以离线安装为例
2.4.3 上传安装包
点击上传
在弹出的界面直接点击图中的“+”上传,会自动识别并填充其它信息
选择 openGauss-5.0.0-openEuler-64bit-all.tar.gz
安装包名称可自定义,其它信息为自动识别
上传完成后,会显示到如下
选中openGauss的安装包
2.4.4 集群配置
集群配置
注
1 这里选择环境分离后,openGauss的环境变量会单独配置的自定义文件中,避免和用户环境变量产生混乱。
2 根据个人习惯,你也可以不选择环境分离
主节点配置
因为前面配置过服务器信息,这里直接下拉框选择即可
备节点1配置
2.4.5 环境检测
图中的警告信息可忽略。
原因:这里内存建议32GB或以上是针对生产环境的要求,实际开发测试4GB完全可以正常安装。
2.4.6 集群信息预览
2.4.7 执行安装
注
安装过程中:
1 openGauss集群安装完全自动化
2 窗口中会显示执行命令的详细信息
3 请勿进行其他操作,否则将导致安装失败
2.4.8 安装完成
显示如下信息,表示安装成功
请妥善保管用户名密码
名称 值 集群标识 cluster_trex 端口号 5432 数据库用户 gaussdb 主节点 192.168.7.111 备节点1 192.168.7.112初始化密码:Trex@123
默认数据库用postgres
2.5 集群一览
在首页界面可以看到集群一览信息
实时显示服务器的cpu使用率、内存使用率、网络状态、连接数等信息
2.7 集群管理
进入集群管理界面,可以进行启动、停止、重启、备份、卸载、强制卸载、删除集群
2.8 实例管理
新增数据源
2.9 业务开发
2.9.1 填写数据库连接信息
数据库列表显示如下
2.9.2 创建测试表,并进行查询
2.10 其他功能
关于其它功能,操作很简单,这里不做赘述,快开始动手探索吧!
相关文章:

【万字实操】可视化运维平台openGauss Datakit,带你轻松玩转openGauss 5.0
openGauss Datakit:openGauss社区推出的可视化的运维工具. 特性优势 初级用户学习openGauss门槛高让你望而却步?openGauss Datakit一键化安装企业版集群、监控、日志分析、SQL诊断,让你快速上手,快速部署,从容面对企业环境&#…...

《动手学深度学习 Pytorch版》 10.1 注意力提示
10.1.1 生物学中的注意力提示 “美国心理学之父” 威廉詹姆斯提出的双组件(two-component)框架: 非自主性提示:基于环境中物体的突出性和易见性 自主性提示:受到了认知和意识的控制 10.1.2 查询、键和值 注意力机制…...
C# 写入文件比较
数据长度:128188个long BinaryWriter每次写一个long 耗时14.7828ms StreamWriter每次写一个long 耗时44.0934 ms FileStream每次写一个long 耗时20.5142 ms FileStream固定chunk写入,循环操作数组,耗时13.4126 ms byte[] chunk new byte[d…...
医院设备利用(Use of Hospital Facilities, ACM/ICPC World Finals 1991, UVa212)rust解法
医院里有n(n≤10)个手术室和m(m≤30)个恢复室。每个病人首先会被分配到一个手术室,手术后会被分配到一个恢复室。从任意手术室到任意恢复室的时间均为t1,准备一个手术室和恢复室的时间分别为t2和t3…...
解决github ping不通的问题(1024程序员节快乐!
1024程序员节快乐!(随便粘贴一个文档,参加活动 解决github ping不通的问题 域名解析(域名->IP):https://www.ipaddress.com/ Ubuntu平台 github经常ping不通或者访问缓慢,方法是更改host…...

QT基础 柱状图
目录 1.QBarSeries 2.QHorizontalBarSeries 3.QPercentBarSeries 4.QHorizontalPercentBarSeries 5.QStackedBarSeries 6.QHorizontalStackedBarSeries 从上图得知柱状的基类是QAbstractBarSeries,派生出来分别是柱状图的水平和垂直类,只是类型…...

微机原理与接口技术-第七章输入输出接口
文章目录 I/O接口概述I/O接口的典型结构基本功能 I/O端口的编址独立编址统一编址 输入输出指令I/O寻址方式I/O数据传输量I/O保护 16位DOS应用程序DOS平台的源程序框架DOS功能调用 无条件传送和查询传送无条件传送三态缓冲器锁存器接口电路 查询传送查询输入端口查询输出端口 中…...

YoloV8改进策略:独家原创,LSKA(大可分离核注意力)改进YoloV8,比Transformer更有效,包括论文翻译和实验结果
文章目录 摘要论文:《LSKA(大可分离核注意力):重新思考CNN大核注意力设计》1、简介2、相关工作3、方法4、实验5、消融研究6、与最先进方法的比较7、ViTs和CNNs的鲁棒性评估基准比较8、结论YoloV8官方结果改进一:测试结果摘要 本文给大家带来一种超大核注意力机制的改进方…...

7天易语言从入门到实战(一)
1.1易语言简介 易语言是一门有着伟大理想的语言。公司用的少,开发者也很少,并不影响国人对他的热情。曾经的多玩LOL,朗读女,都是陪伴再那个国产PC应用匮乏的时代。 2001年1月 吴涛研发了中国自主知识产权的的中文编程语言——易语…...

redis缓存问题
缓存击穿 缓存击穿是指某个热点数据存储在redis中,该数据在高并发的场景下,当该key过期时就会有大量的请求去查询数据库,对数据库的压力非常大,可能会导致数据库压垮。 解决方案 1.不为热点的key设置过期时间。 2.使用分布式锁…...
mysql创建自定义函数报错
mysql创建自定义函数报错:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declarat… 这是我们开启了bin-log,我们就必须指定我们的函数是否是 1.DETERMINISTIC 不确定的 2.NO SQL没有sql语句,当然也不会修改数…...

Docker 的数据管理与网络通信以及Docker镜像的创建
目录 Docker的数据管理 1、数据卷 2、数据卷容器 3、端口映射 4、容器互联 二、Docker网络 1、Docker网络实现原理 2、Docker的网桥模式 1)Host 2)Container 3)none 4)bridge 5)自定义网络 3、创建自定义…...
linux系统查看bash的history
要输出最近的20条命令,可以使用history命令。在Bash终端中,输入以下命令即可获取最近的20条命令历史记录: history 20这将显示你最近执行的20条命令及其相应的行号。 要将最近的20条命令写入到一个名为 “command.txt” 的文本文件中&#…...

【T+】畅捷通T+增加会计科目提示执行超时已过期。
【问题描述】 在畅捷通T软件中, 增加会计科目的时候提示: 通过DataTable插入ext扩展表出错:执行超时已过期。 完成操作之前已超时或服务器未响应。 操作已被用户取消。 语句已终止。 【解决方法】 【方法一】 注销用户登录,回到软件登录界面…...

0基础学习VR全景平台篇第111篇:全景图拼接和编辑 - PTGui Pro教程
上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 前情回顾:上节,我们将源图像导入了PTGui,也设置好了各项参数。 下面我们就开始拼接全景图,并且在编辑器里进行一系列检查错位和设…...

Dynamics 365 使用ILMerge 合并CRM开发后的DLL
很久以前写过一篇博文,关于用ILMerge 命令合并DLL,当时时纯敲命令行的,现在有了更简单的方式,只需要在NuGet下载如下两个包 另外插件引用第三方dll的新方案Preview来了,不久的将来就不需要使用ILMerge了...

SpringBoot Web请求响应
目录 前言请求PostmanPostman使用 简单参数原始方式接收普通参数SpringBoot方式接收普通参数参数名不一致问题 实体参数简单实体参数复杂实体对象 数组集合参数数组参数集合参数 日期参数JSON参数路径参数 响应ResponseBody统一响应结果请求响应案例案例需求与准备工作案例实现…...

Jenkins CLI二次开发工具类
使用Jenkins CLI进行二次开发 使用背景 公司自研CI/DI平台,借助JenkinsSonarQube进行代码质量管理。对接版本 Jenkins版本为:Version 2.428 SonarQube版本为:Community EditionVersion 10.2.1 (build 78527)技术选型 Java对接Jenkins有第…...
2. 计算WPL
题目 Huffman编码是通信系统中常用的一种不等长编码,它的特点是:能够使编码之后的电文长度最短。 更多关于Huffman编码的内容参考教材第十章。 输入: 第一行为要编码的符号数量n 第二行~第n1行为每个符号出现的频率 输…...

筹备三年,自动驾驶L3标准将至,智驾产业链的关键一跃
作者|张祥威 编辑|德新 多位知情人士告诉HiEV,智能网联汽车准入试点通知,乐观预计将在一个月内发布。试点的推动,意味着国家层面的自动驾驶L3标准随之到来。 「L3标准内容大部分与主机厂相关,由工信部牵头,找了几家…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...