[Expérience pratique du projet] Création d'openGauss Datakit 5.1.1 basé sur openEuler22.03

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.ymlles 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

https://192.168.7.100:9494

É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
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/gaussdb/blog/11185222
conseillé
Classement