Prefacio Existen diferencias considerables entre la última versión de Datakit 5.1 y Datakit 5.0. La estructura del almacén ha cambiado y los documentos anteriores ya no son aplicables. Este artículo compartirá la última versión del manual de práctica de Datakit y la experiencia personal para referencia de los entusiastas de openGauss.
1 Introducción al proyecto Este proyecto es una herramienta visual integrada de openGauss: DataKit. El propósito es facilitar a los clientes el uso y la gestión de la herramienta de visualización de openGauss. Puede reducir el umbral para que los clientes instalen y utilicen la base de datos de openGauss y lograr un centro de seguridad. administración, administración de complementos y Las herramientas de desarrollo, operación y mantenimiento de la capa superior se basan en complementos, y cada complemento es independiente entre sí, lo que facilita a los usuarios introducirlo según demanda. Cada complemento se expande alrededor del centro de recursos de DataKit, proporcionando implementación, desinstalación, instalación de componentes, actualizaciones de múltiples versiones y operación y mantenimiento diarios, monitoreo, migración, desarrollo, modelado y otras operaciones complejas con un solo clic.
2 Preparación del entorno 2.1 Notas El funcionamiento actual de la plataforma depende de openJDK11
La base de datos utilizada por la plataforma actualmente solo admite la base de datos openGauss y la base de datos debe crearse con anticipación.
La IP del servidor de implementación debe configurarse en la lista blanca de la base de datos openGauss utilizada por la plataforma.
2.2 Sistemas de servidor compatibles
openEuler 20.3LTS(x86_x64,ARM)
centos7.x(x86_x64)
Nota: Se ha verificado que puede ejecutarse perfectamente en openEuler 22.03 LTS.
Verificar la versión del sistema operativo
[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 Resumen ambiental
Este artículo implementa Datakit 5.1.1 basado en el sistema operativo openEuler 22.03 LTS.
2.4 Resumen del documento
documentación oficial de openGauss
https://docs-opengauss.osinfra.cn/zh/docs/5.1.0/docs/ToolandCommandReference/DataKit.htmlDocumentación de uso y documentación de desarrollo
https://gitee.com/opengauss/openGauss-workbench/tree/master/openGauss-datakit/doc 2.5 Adquisición de paquetes de software Aquí he organizado los diversos paquetes fuera de línea utilizados en datakit-about.zip y envié el kit de datos en segundo plano. Puedes conseguirlo.
También puede instalar en línea o descargar el paquete sin conexión correspondiente para la instalación.
2.5.1 Hay dos formas de obtener el paquete de software Datakit:
Descarga a través del sitio web oficial de openGauss
https://opengauss.org/zh/download/
Descargar a través del repositorio oficial de gitee de opengauss
Dirección del almacén
https://gitee.com/opengauss/openGauss-workbench
La dirección del paquete de instalación de la última versión actual
https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/Datakit/Datakit-5.1.1.tar.gz El paquete de instalación del almacén oficial de gitee de openGauss es generalmente una versión superior a la de instalación Paquete del sitio web oficial de openGauss, que contiene las últimas funciones y correcciones fundamentales.
2.5.2 Obtención del paquete de software openGauss A partir de la versión openEuler 22.03 LTS, la imagen del sistema operativo viene con el paquete openGauss RPM, que se puede instalar a través de rpm o yum. Admite arquitecturas arm64 y x86_64.
La dirección espejo de openEuler22.03 LTS es:
https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS Puede descargar el paquete RPM correspondiente en la dirección anterior.
# 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 Obtención del paquete 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 Cargar datakit-about.zip al servidor
# 创建安装包存放目录
[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 Establecer el nombre de host y la resolución de la dirección IP
2.7.1 Establecer nombre de host
[root@localhost ~]# hostnamectl set-hostname trex
2.7.2 Resolución de dirección IP
[root@localhost ~]# echo '192.168.7.100 trex' >> /etc/hosts
2.7.3 Actualizar el nombre del host
[root@localhost ~]# su [root@trex ~]#
Puede ver que el nombre del host ha cambiado del localhost predeterminado a trex.
2.8 Apagar el firewall
# 关闭防火墙
[root@trex ~]# systemctl stop firewalld.service
# 禁止开机自启
[root@trex ~]# systemctl disable firewalld.service
2.9 Apagar Selinux
2.9.1 Apagado inmediato
[root@trex ~]# setenforce 0
Nota: No válido después de reiniciar el sistema operativo.
2.9.2 Modifique el archivo de configuración editando /etc/sysconfig/selinux y cambie SELINUX=enforcing a SELINUX=disabled
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
Nota: Es necesario reiniciar el sistema operativo para que surta efecto de forma permanente.
2.10 Instale la base de datos utilizada por la plataforma Datakit Como se mencionó anteriormente en el artículo, la plataforma actualmente solo admite openGauss.
Instalación a través de Internet
yum install opengauss -y
Instalación sin conexión
# 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 gestión y configuración de la base de datos opengauss
2.11.1 Ver estado de inicio
# 切换到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"
Mostrar el servidor en ejecución indica que el estado es normal.
Nota: Los comandos comunes para la gestión de servicios openGauss son los siguientes:
Iniciar inicio gs_ctl
cerrar parada gs_ctl
reiniciargs_ctl reiniciar
estado statusgs_ctl
2.11.2 Establecer una lista blanca para el acceso a la base de datos
Esto está configurado para permitir que los clientes con cualquier dirección IP accedan a la base de datos openGauss a través de 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
Explicación detallada de los parámetros:
host: Indica que esta regla se aplica a las conexiones TCP/IP.
todas: Indica que esta regla se aplica a todas las bases de datos y a todos los usuarios.
0.0.0.0/0: es un rango de direcciones IP en formato CIDR, que indica que los clientes con cualquier dirección IP pueden conectarse.
md5: Indica el uso del método de cifrado MD5 para verificar la contraseña.
2.11.3 Modificar los parámetros de la base de datos
# 设置监听所有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
Compruebe si la modificación es correcta.
[opengauss@trex ~]$ grep -E 'listen_addresses|password_encryption_type|max_connections' postgresql.conf
Explicación detallada de los parámetros:
listening_addresses = '*' # Escuchar todas las ip
contraseña_encryption_type = 0 # Algoritmo de cifrado
max_connections = 1000 # Número máximo de conexiones
2.11.4 Reinicie el servicio openGauss y verifique el estado de inicio Después de modificar los parámetros, debe reiniciar el servicio openGauss para que surta efecto.
[opengauss@trex ~]$ gs_ctl restart > /dev/null 2>&1
查看启动状态
[opengauss@trex ~]$ gs_ctl status
2.11.5 Crear usuario
登录数据库(操作系统命令)
[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 Instalar openJDK11 y ejecutar como usuario root
Instalación a través de Internet
[root @trex ~]# yum install -y java-11-openjdk
Instalación sin conexión
[root @trex ~]# cd /soft/datakit-about/openjdk11/ [root @trex openjdk]# rpm -ivh *.rpm
Los lectores atentos encontrarán que al usar el comando rpm o yum para instalar opengauss, se instaló el paquete de dependencia openJDK8 y la plataforma Datakit depende de openJDK11. Actualmente hay dos versiones de JDK en el sistema.
Comprobémoslo a través del comando.
[root @trex openjdk]# rpm -qa | grep openjdk El resultado es el siguiente
Efectivamente, hay dos versiones de JDK, ¿entrarán en conflicto?
La respuesta es: las dos versiones de openJDK pueden coexistir. Se mencionará más adelante y no se repetirá aquí.
3 Instale e implemente Datakit y ejecútelo como usuario root
3.1 Datakit tiene dos métodos de implementación: implementación del paquete jar
Implementar a través de la ventana acoplable
A continuación, instálelo como un paquete jar para demostración.
3.2 Crear directorio de trabajo del kit de datos
[root @trex ~]# mkdir -p /ops/{logs,config,ssl,files}
3.3 Mover el paquete de instalación de Datakit al directorio /ops
[root@trex ~]# cd /soft/datakit-about/datakit/ [root@trex datakit]# mv Datakit-5.1.1.tar.gz /ops/
3.4 Descomprimir el paquete de instalación
[root@trex datakit]# cd /ops [root@trex datakit]# tar -xf Datakit-5.1.1.tar.gz Puede ver la siguiente información ejecutando el comando ls
[root@trex ops]# ls application-temp.yml Datakit-5.1.1.tar.gz archivos openGauss-datakit-5.1.1.jar visualtool-plugin config doc logs ssl
3.5 Modificar archivo de configuración
3.5.1 Mueva el archivo de configuración al directorio /ops/config [root@trex ops]# mv /ops/application-temp.yml /ops/config/
3.5.2 Editar archivo de configuración
[root@trex ops]# vi /ops/config/application-temp.yml
Modifique application-temp.yml
la información del enlace de datos en el archivo ip、port、database、dbuser、dbpassword
.
Modifíquelo de acuerdo con su entorno real. El contenido del archivo modificado aquí es el siguiente.
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 Crear archivo de clave Aquí usamos la herramienta keytool para generar la clave. Cabe señalar que el comando keytool -genkey se usa para crear archivos SSL (incluidos pares de claves y certificados) y está relacionado con el JDK (Java Development Kit). ). keytool es una herramienta proporcionada por JDK para administrar almacenes de claves y certificados para comunicaciones seguras como cifrado y autenticación. Mencionamos anteriormente que la plataforma se basa en el entorno JDK11, por lo que aquí se utiliza JDK11 para crear el archivo de clave.
3.6.1 Cambie al entorno openJDK11 y verifique la versión de JDK
# 查看当前jdk版本[root@trex config]# java -version# 切换版本到jdk11
[root@trex config]# alternatives --config java# 再次查看当前jdk版本
[root@trex config]# java -version# 执行结果如下
3.6.2 Crear archivo clave
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
Nota: Storepass es coherente con la contraseña del almacén de claves en el archivo de configuración application-temp.yml. La ruta del almacén de claves es coherente con la ruta del almacén de claves en el archivo de configuración application-temp.yml.
3.7 Ejecutar comando de inicio
# 进入 /ops 目录
cd /ops
# 启动程序
nohup java -Xms2048m -Xmx4096m -jar openGauss-datakit-5.1.1.jar --spring.profiles.active=temp >datakit.out 2>&1 &
Nota: Puede ver el registro en ejecución a través de tail -20f datakit.out
4 Uso del kit de datos
4.1 Para iniciar sesión en la interfaz de administración, abra la siguiente dirección en el navegador
Debido a que el navegador tiene protección de seguridad, haga clic en [Avanzado] aquí; seleccione Continuar para ingresar a la interfaz de inicio de sesión.
La contraseña de la cuenta de inicio de sesión predeterminada de la plataforma es: admin/admin123. Cuando inicie sesión por primera vez, se le pedirá que restablezca la contraseña predeterminada.
Ingrese a la interfaz principal
Hasta ahora, openGauss Datakit se ha implementado con éxito a través del paquete jar.
Los recursos pirateados de "Qing Yu Nian 2" se cargaron en npm, lo que provocó que npmmirror tuviera que suspender el servicio unpkg: No queda mucho tiempo para Google. Sugiero que todos los productos sean de código abierto. time.sleep(6) aquí juega un papel. ¡Linus es el más activo en "comer comida para perros"! El nuevo iPad Pro utiliza 12 GB de chips de memoria, pero afirma tener 8 GB de memoria. People's Daily Online revisa la carga estilo matrioska del software de oficina: Sólo resolviendo activamente el "conjunto" podremos tener un futuro para Flutter 3.22 y Dart 3.4 . nuevo paradigma de desarrollo para Vue3, sin necesidad de `ref/reactive `, sin necesidad de `ref.value` Lanzamiento del manual chino de MySQL 8.4 LTS: le ayudará a dominar el nuevo ámbito de la gestión de bases de datos Tongyi Qianwen Precio del modelo principal de nivel GPT-4 reducido en un 97%, 1 yuan y 2 millones de tokens