Préface Il existe des différences considérables entre la dernière version de Datakit 5.1 et Datakit 5.0. La structure de l'entrepôt a changé et les documents précédents ne sont plus applicables. Cet article partagera la dernière version du manuel pratique Datakit et son expérience personnelle pour la référence des passionnés d'openGauss.
1 Introduction du projet Ce projet est un outil visuel intégré openGauss basé sur le Web : DataKit. Le but est de faciliter l'utilisation et la gestion par les clients de l'outil de visualisation openGauss. Il peut abaisser le seuil permettant aux clients d'installer et d'utiliser la base de données openGauss et d'atteindre un centre de sécurité. gestion, gestion des plug-ins et Les outils de développement, d'exploitation et de maintenance de la couche supérieure sont basés sur des plug-ins, et chaque plug-in est indépendant les uns des autres, ce qui permet aux utilisateurs de l'introduire facilement à la demande. Chaque plug-in est étendu autour du centre de ressources de DataKit, permettant le déploiement, la désinstallation, l'installation de composants, les mises à niveau multiversions et l'exploitation et la maintenance quotidiennes, la surveillance, la migration, le développement, la modélisation et d'autres opérations complexes en un seul clic.
2 Préparation de l'environnement 2.1 Notes Le fonctionnement actuel de la plateforme dépend d'openJDK11
La base de données utilisée par la plateforme ne prend actuellement en charge que la base de données openGauss et la base de données doit être créée à l'avance.
L'IP du serveur de déploiement doit être configurée dans la liste blanche de la base de données openGauss utilisée par la plateforme.
2.2 Systèmes de serveur pris en charge
openEuler 20.3LTS(x86_x64,ARM)
centos7.x(x86_x64)
Remarque : Il a été vérifié qu'il peut fonctionner parfaitement sur openEuler 22.03 LTS.
Vérifier la version du système d'exploitation
[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 Résumé environnemental
Cet article déploie Datakit 5.1.1 basé sur le système d'exploitation openEuler 22.03 LTS.
2.4 Résumé du document
documentation officielle d'openGauss
https://docs-opengauss.osinfra.cn/zh/docs/5.1.0/docs/ToolandCommandReference/DataKit.htmlDocumentation d'utilisation et documentation de développement
https://gitee.com/opengauss/openGauss-workbench/tree/master/openGauss-datakit/doc 2.5 Acquisition de progiciels Ici, j'ai organisé les différents packages hors ligne utilisés dans datakit-about.zip et envoyé le datakit en arrière-plan Tu peux l'avoir.
Vous pouvez également installer en ligne ou télécharger le package hors ligne correspondant pour l'installation.
2.5.1 Il existe deux manières d'obtenir le progiciel Datakit :
Téléchargez via le site officiel d'openGauss
https://opengauss.org/zh/download/
Téléchargez via le dépôt officiel du gîte opengauss
Adresse de l'entrepôt
https://gitee.com/opengauss/openGauss-workbench
L'adresse actuelle du package d'installation de la dernière version
https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/Datakit/Datakit-5.1.1.tar.gz Le package d'installation de l'entrepôt officiel openGauss est généralement une version supérieure à l'installation package du site officiel d'openGauss, contenant les dernières fonctionnalités et correctifs fondamentaux.
2.5.2 Obtention du package logiciel openGauss À partir de la version openEuler 22.03 LTS, l'image du système d'exploitation est livrée avec le package openGauss RPM, qui peut être installé via rpm ou yum. Il prend en charge les architectures arm64 et x86_64.
L'adresse miroir d'openEuler22.03 LTS est :
https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS Vous pouvez télécharger le package RPM correspondant à l'adresse ci-dessus.
# 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 Obtention du package 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 Télécharger datakit-about.zip sur le serveur
# 创建安装包存放目录
[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 Définir le nom d'hôte et la résolution de l'adresse IP
2.7.1 Définir le nom d'hôte
[root@localhost ~]# hostnamectl set-hostname trex
2.7.2 Résolution d'adresse IP
[root@localhost ~]# echo '192.168.7.100 trex' >> /etc/hosts
2.7.3 Actualiser le nom d'hôte
[root@localhost ~]# su [root@trex ~]#
Vous pouvez voir que le nom d'hôte est passé de localhost par défaut à trex.
2.8 Désactivez le pare-feu
# 关闭防火墙
[root@trex ~]# systemctl stop firewalld.service
# 禁止开机自启
[root@trex ~]# systemctl disable firewalld.service
2.9 Désactiver Selinux
2.9.1 Arrêt immédiat
[root@trex ~]# setenforce 0
Remarque : Invalide après le redémarrage du système d'exploitation.
2.9.2 Modifiez le fichier de configuration en éditant /etc/sysconfig/selinux et remplacez SELINUX=enforcing par SELINUX=disabled
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
Remarque : Le système d'exploitation doit être redémarré pour que l'effet soit permanent.
2.10 Installez la base de données utilisée par la plateforme Datakit Comme mentionné plus haut dans l'article, la plateforme ne prend actuellement en charge qu'openGauss.
Installation via Internet
yum install opengauss -y
Installation hors ligne
# 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 Gestion et configuration de la base de données opengauss
2.11.1 Afficher l'état de démarrage
# 切换到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"
L’affichage du serveur en cours d’exécution indique que l’état est normal.
Remarque : Les commandes courantes pour la gestion des services openGauss sont les suivantes :
Démarrer gs_ctl démarrer
fermer gs_ctl arrêter
restartgs_ctl redémarrer
statut statusgs_ctl
2.11.2 Définir une liste blanche pour l'accès à la base de données
Ceci est configuré pour permettre aux clients avec n'importe quelle adresse IP d'accéder à la base de données openGauss via TCP/IP.
# 进入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
Explication détaillée des paramètres :
hôte : indique que cette règle s'applique aux connexions TCP/IP.
all : indique que cette règle s'applique à toutes les bases de données et à tous les utilisateurs.
0.0.0.0/0 : est une plage d'adresses IP au format CIDR, indiquant que les clients avec n'importe quelle adresse IP sont autorisés à se connecter.
md5 : indique l'utilisation de la méthode de cryptage MD5 pour vérifier le mot de passe.
2.11.3 Modifier les paramètres de la base de données
# 设置监听所有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
Vérifiez si la modification est correcte
[opengauss@trex ~]$ grep -E 'listen_addresses|password_encryption_type|max_connections' postgresql.conf
Explication détaillée des paramètres :
Listen_addresses = '*' # Écouter toutes les ip
password_encryption_type = 0 # Algorithme de cryptage
max_connections = 1000 # Nombre maximum de connexions
2.11.4 Redémarrez le service openGauss et vérifiez l'état de démarrage Après avoir modifié les paramètres, vous devez redémarrer le service openGauss pour prendre effet.
[opengauss@trex ~]$ gs_ctl restart > /dev/null 2>&1
查看启动状态
[opengauss@trex ~]$ gs_ctl status
2.11.5 Créer un utilisateur
登录数据库(操作系统命令)
[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 Installer openJDK11 et exécuter en tant qu'utilisateur root
Installation via Internet
[root @trex ~]# miam install -y java-11-openjdk
Installation hors ligne
[root @trex ~]# cd /soft/datakit-about/openjdk11/ [root @trex openjdk]# rpm -ivh *.rpm
Les lecteurs attentifs constateront que lors de l'utilisation de la commande rpm ou yum pour installer opengauss, le package de dépendances openJDK8 a été installé et la plate-forme Datakit dépend d'openJDK11. Il existe actuellement deux versions de JDK dans le système, n'est-ce pas ?
Vérifions-le via la commande
[root @trex openjdk]# rpm -qa | grep openjdk Le résultat est le suivant
Effectivement, il existe deux versions du JDK, vont-elles entrer en conflit ?
La réponse est : les deux versions d’openJDK peuvent coexister. Il en sera question ultérieurement et ne sera pas répété ici.
3 Installez et déployez Datakit et exécutez-le en tant qu'utilisateur root
3.1 Datakit dispose de deux méthodes de déploiement : déploiement du package jar
Déployer via Docker
Ensuite, installez-le en tant que package jar pour la démonstration.
3.2 Créer un répertoire de travail du datakit
[root @trex ~]# mkdir -p /ops/{logs,config,ssl,files}
3.3 Déplacez le package d'installation de Datakit vers le répertoire /ops
[root@trex ~]# cd /soft/datakit-about/datakit/ [root@trex datakit]# mv Datakit-5.1.1.tar.gz /ops/
3.4 Décompressez le package d'installation
[root@trex datakit]# cd /ops [root@trex datakit]# tar -xf Datakit-5.1.1.tar.gz Vous pouvez voir les informations suivantes en exécutant la commande ls
[root@trex ops]# ls application-temp.yml Datakit-5.1.1.tar.gz fichiers openGauss-datakit-5.1.1.jar visualtool-plugin config doc journaux ssl
3.5 Modifier le fichier de configuration
3.5.1 Déplacez le fichier de configuration vers le répertoire /ops/config [root@trex ops]# mv /ops/application-temp.yml /ops/config/
3.5.2 Modifier le fichier de configuration
[root@trex ops]# vi /ops/config/application-temp.yml
Modifiez application-temp.yml
les informations de liaison de données dans le fichier ip、port、database、dbuser、dbpassword
.
Modifiez-le en fonction de votre environnement réel. Le contenu du fichier modifié ici est le suivant.
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 Créer un fichier de clé Ici, nous utilisons l'outil keytool pour générer la clé. Il convient de noter que la commande keytool -genkey est utilisée pour créer des fichiers SSL (y compris les paires de clés et les certificats) et qu'elle est liée au JDK (Java Development Kit). ). keytool est un outil fourni par le JDK pour gérer les magasins de clés et les certificats pour des communications sécurisées telles que le cryptage et l'authentification. Nous avons mentionné plus tôt que la plateforme s'appuie sur l'environnement JDK11, donc JDK11 est utilisé ici pour créer le fichier de clé.
3.6.1 Basculez vers l'environnement openJDK11 et vérifiez la version du JDK
# 查看当前jdk版本[root@trex config]# java -version# 切换版本到jdk11
[root@trex config]# alternatives --config java# 再次查看当前jdk版本
[root@trex config]# java -version# 执行结果如下
3.6.2 Créer un fichier de clé
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
Remarque : Le storepass est cohérent avec le mot de passe du magasin de clés dans le fichier de configuration application-temp.yml. Le chemin du magasin de clés est cohérent avec le chemin du magasin de clés dans le fichier de configuration application-temp.yml.
3.7 Exécuter la commande de démarrage
# 进入 /ops 目录
cd /ops
# 启动程序
nohup java -Xms2048m -Xmx4096m -jar openGauss-datakit-5.1.1.jar --spring.profiles.active=temp >datakit.out 2>&1 &
Remarque : Vous pouvez afficher le journal en cours d'exécution via tail -20f datakit.out
4 Utilisation du Datakit
4.1 Pour vous connecter à l'interface de gestion, ouvrez l'adresse suivante dans le navigateur
Étant donné que le navigateur dispose d'une protection de sécurité, cliquez sur [Avancé] ici - sélectionnez Continuer pour accéder à l'interface de connexion.
Le mot de passe du compte de connexion par défaut de la plateforme est : admin/admin123 Lors de la première connexion, vous serez invité à réinitialiser le mot de passe par défaut.
Entrez dans l'interface principale
À ce stade, openGauss Datakit a été déployé avec succès via le package jar.
Les ressources piratées de "Qing Yu Nian 2" ont été téléchargées sur npm, obligeant npmmirror à suspendre le service unpkg. Zhou Hongyi : Il ne reste plus beaucoup de temps à Google. Je suggère que tous les produits soient open source. time.sleep(6) joue ici un rôle. Linus est le plus actif dans la « consommation de nourriture pour chiens » ! Le nouvel iPad Pro utilise 12 Go de puces mémoire, mais prétend disposer de 8 Go de mémoire. Le People's Daily Online examine la charge de type matriochka des logiciels de bureau : Ce n'est qu'en résolvant activement « l'ensemble » que nous pourrons avoir un avenir avec Flutter 3.22 et Dart 3.4 . nouveau paradigme de développement pour Vue3, sans avoir besoin de « ref/reactive », pas besoin de « ref.value » Publication du manuel chinois MySQL 8.4 LTS : vous aider à maîtriser le nouveau domaine de la gestion de bases de données Tongyi Qianwen niveau GPT-4 prix du modèle principal réduit de 97%, 1 yuan et 2 millions de jetons