opengauss工具Datakit安装
一、功能介绍
openGauss的开发运维涉及到很多复杂操作,DataKit提供了一个可视化操作的运维界面,可以帮助用户管理,安装,监控运维自己的openGauss数据库以及对应的物理机资源。
DataKit是一个以资源(物理机,数据库)为底座的开发运维工具,将上层的开发运维工具插件化,各插件之间相互独立,方便用户按需引入。各插件围绕DataKit的资源中心进行扩展开,完成数据库的运维,监控,迁移,开发,建模等复杂的操作。
原理简介
DataKit是基于spring-brick开发的插件化的工具,前台使用vue,后台使用spring-bot技术栈。DataKit基座提供资源管理,安全中心,日志中心等基础的公共能力,具体的数据库安装,运维,监控,数据迁移等能力是基于spring-brick开发的插件工具,可以灵活的在基座上面安装卸载,方便客户按需使用。
特性优势
本项目是基于Web的openGauss的可视化的一体化工具:DataKit,目的是方便客户使用和管理openGauss可视化工具,可以为客户降低openGauss数据库安装使用门槛,做到安全中心管理,插件管理,以及其它功能包括一键化部署、卸载、组件化安装、多版本升级和日常运维。
二、环境准备
X86/ARM+openEuler 20.03 或 X86+CentOS 5.7。
本次系统版本为centos7.6且已安装opengauss
三、操作步骤
①创建工作目录
[root@opengauss ~]# mkdir -p /ops/server/openGauss-visualtool/logs /ops/server/openGauss-visualtool/config /ops/ssl /ops/files
②下载Datakit
官网地址:https://www.opengauss.org/zh/download/
[root@opengauss ~]# wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/tools/Datakit-5.0.0.tar.gz
[root@opengauss ~]# tar xf Datakit-5.0.0.tar.gz -C /ops/server/openGauss-visualtool/
[root@opengauss ~]# cd /ops/server/openGauss-visualtool/
[root@opengauss openGauss-visualtool]# ls
application-temp.yml
base-ops-5.0.0-repackage.jar
base-ops-README.md
config
data-migration-5.0.0-repackage.jar
data-migration-README.md
data-studio-readme.md
logs
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
[root@opengauss openGauss-visualtool]# mkdir visualtool-plugin
需要创建插件目录,不然启动的时候会报错
[root@opengauss openGauss-visualtool]# mv *.jar visualtool-plugin/
[root@opengauss openGauss-visualtool]# vm visualtool-plugin/visualtool-main.jar .
[root@opengauss openGauss-visualtool]# mv visualtool-plugin/visualtool-main.jar .
[root@opengauss openGauss-visualtool]# ls
application-temp.yml observability-instance-README.md
base-ops-README.md observability-log-search-README.md
config observability-sql-diagnosis-README.md
data-migration-README.md visualtool-main.jar
data-studio-readme.md visualtool-plugin
logs visualtool-README.md
visualtool-main.jar为启动datakit的jar包
③修改配置文件
[root@opengauss openGauss-visualtool]# vim application-temp.yml
[root@opengauss openGauss-visualtool]# cat application-temp.yml
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/server/openGauss-visualtool/logs/
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: org.opengauss.Driver
url: jdbc:opengauss://192.168.31.200:15400/db_tpcc?currentSchema=public
username: test
password: OUYE@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
[root@opengauss openGauss-visualtool]# mv application-temp.yml config/
修改spring.datasource.url的ip,port,database、dbuser、dbpassword
④下载jdk
下载地址:
浏览器下载:https://jdk.java.net/archive/
wget下载:https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz
配置变量
[root@opengauss ~]# tar xf openjdk-11.0.1_linux-x64_bin.tar.gz -C /usr/local/
[root@opengauss ~]# mv /usr/local/jdk-11.0.1 /usr/local/java
[root@opengauss ~]# vim /etc/profile
export JAVA_HOME=/usr/local/java/bin
export PATH=$PATH:$JAVA_HOME
[root@opengauss ~]# source /etc/profile
[root@opengauss ~]# java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
生成ssl文件传置/ops/ssl/下,生成ssl文件示例(生成ssl的java必须跟运行DataKit是一个java版本):
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用户,给ops目录及下面所有文件修改所属用户为执行用户(ops)。
[root@opengauss openGauss-visualtool]# useradd ops
[root@opengauss openGauss-visualtool]# chown ops -R /ops/
[root@opengauss openGauss-visualtool]# ll -d
drwxr-xr-x 5 ops root 326 12月 10 21:18 .
⑥opengauss数据库创建远程连接用户
1、修改放行ip
listen_addresses修改为*
password_encryption_type打开注释并修改为0(代表MD5加密)
[root@opengauss ~]# vim /opt/huawei/install/data/dn/postgresql.conf
listen_addresses = '*'
password_encryption_type = 0
#行号大概在68和110
[root@opengauss ~]# cat -n /opt/huawei/install/data/dn/postgresql.conf|grep listen_add
68 listen_addresses = '*' # what IP address(es) to listen on;
[root@opengauss ~]# cat -n /opt/huawei/install/data/dn/postgresql.conf|grep password_encr
110 password_encryption_type = 0 #Password storage type, 0 is md5 for PG, 1 is sha256 + md5, 2 is sha256 only
这一步为添加放行IP地址
[root@opengauss ~]# vim /opt/huawei/install/data/dn/pg_hba.conf
[root@opengauss ~]# cat /opt/huawei/install/data/dn/pg_hba.conf|grep 0.0.0.
host all all 0.0.0.0/0 md5
第一个all表示允许连接到任意数据库,第二个all表示任意用户都可以连, 0.0.0.0/0表示任意IP地址,MD5为认证方式。
如果有指定ip地址,可以根据需求修改
重启数据库使修改配置生效
[root@opengauss ~]# su omm
[omm@opengauss root]$ gs_om -t restart
[omm@opengauss root]$ netstat -tnlp
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:15400 0.0.0.0:* LISTEN 66263/gaussdb
tcp 0 0 0.0.0.0:15401 0.0.0.0:* LISTEN 66263/gaussdb
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
tcp6 0 0 :::15400 :::* LISTEN 66263/gaussdb
tcp6 0 0 :::15401 :::* LISTEN 66263/gaussdb
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 ::1:25 :::* LISTEN -
2、创建远程连接数据库用户
[omm@opengauss root]$ gsql -d postgres -p 15400
openGauss=# create user test with password "OUYE@123";
CREATE ROLE
openGauss=# GRANT ALL PRIVILEGES to test;
ALTER ROLE
openGauss=# create database db_tpcc owner test;
CREATE DATABASE
openGauss=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access
privileges
-----------+-------+-----------+---------+-------+--------
-----------
db_tpcc | test | SQL_ASCII | C | C |
postgres | omm | SQL_ASCII | C | C |
template0 | omm | SQL_ASCII | C | C | =c/omm
+
| | | | | omm=CTc
/omm
template1 | omm | SQL_ASCII | C | C | =c/omm
+
| | | | | omm=CTc
/omm
(4 rows)
[omm@opengauss root]$ gsql -d db_tpcc -p 15400 -U test
Password for user test:
db_tpcc=> create table mytable(firstcol int);
CREATE TABLE
db_tpcc=> insert into mytable values (100);
INSERT 0 1
db_tpcc=> select * from mytable;
firstcol
----------
100
(1 row)
db_tpcc=> \q
⑦启动datakit
切换到ops用户,进入/ops/server/openGauss-visualtool目录,执行启动命令(必须要进入到这个目录启动,否则会报错)
[root@opengauss openGauss-visualtool]# su ops
[ops@opengauss openGauss-visualtool]$ nohup java -Xms2048m -Xmx4096m -jar /ops/server/openGauss-visualtool/visualtool-main.jar --spring.profiles.active=temp >/ops/server/openGauss-visualtool/logs/visualtool-main.out 2>&1 &
注:第一次启动会显示插件初始化异常,加载完毕后kill掉这个进程然后再重新启动一遍就一切正常了。
四、验证界面