【我和openGauss的故事】可视化运维平台openGauss Datakit带你轻松玩转openGauss 5.0
霸王龙的日常 openGauss 2023-08-04 18:01 发表于四川
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 /soft unzip 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
注 jar方式安装Datakit时略过此步骤
cd /soft/datakit-about/docker/ rpm -ivh *.rpm
3 安装openJDK11
cd /soft/datakit-about/openjdk rpm -ivh *.rpm
系统中安装多个jdk版本,可以使用alternatives
命令来切换默认的Java版本,后面会提到。
4 安装openGauss数据库
该平台当前仅支持openGauss数据库,并且需要提前创建database。 这里采用最简单的一种方式——通过RPM方式安装极简版的openGauss。
cd /soft/datakit-about/openGaussRPM 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密码 出现如下信息
ERROR: Please use "ALTER ROLE user_name PASSWORD 'password';" to set the password of user opengauss before other operation!
修改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-plugin
5.1.4 修改配置文件
将配置文件application-temp.yml 复制到 /ogdatakit/config/下 修改application-temp.yml文件中的数据链链接ip、port、database、dbuser、dbpassword。
cp /soft/datakit-about/datakit/application-temp.yml /ogdatakit/config/ vi /ogdatakit/config/application-temp.yml
修改如下部分内容
5.1.5 修改配置文件中平台工作目录
sed -i s#/ops#$(pwd)#g config/application-temp.yml
5.1.6 创建ssl文件
keytool -genkey
命令用于创建 SSL 文件(包括密钥对和证书),并且它与 JDK(Java Development Kit)是有关系的。keytool
是 JDK 提供的一个工具,用于管理密钥库和证书,用于加密和身份验证等安全通信。
切换到openJDK11环境,并验证版本
alternatives --config java java -version
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.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-plugin
5.2.4 修改配置文件
将配置文件application-temp.yml 复制到 /ogdatakit/config/下 修改application-temp.yml文件中的数据链链接ip、port、database、dbuser、dbpassword。
cp /soft/datakit-about/datakit/application-temp.yml /ogdatakit/config/ 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:11 ENV 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.112 |
2.2 安装前准备
下载openGauss企业版安装包 进入 软件包 | openGauss
下载完成后会得到 openGauss-5.0.0-openEuler-64bit-all.tar.gz
2.2.1 创建用户组dbgrp及用户
注 1 操作系统root用户执行 2 trex01和trex02都操作
groupadd dbgrp useradd -g dbgrp omm passwd omm
密码这里设置为omm@123
2.2.2 给omm授予root权限
chmod u+w /etc/sudoers vi /etc/sudoers
追加如下内容
omm ALL=(ALL) NOPASSWD: ALL
2.2.3 创建软件包路径并授权
mkdir -p /opt/software/openGauss chmod +x /opt/software/openGauss/ chown -R omm:dbgrp /opt/software
2.2.4 在root用户下验证下述命令是否执行成功
注 如果不成功,请检查上述3个步骤
su - omm -c 'cd /opt/software/openGauss/'
2.2.5 安装依赖包
yum install libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel libnsl2 bzip2 python3 expect
2.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 填写数据库连接信息
数据库列表显示如下