[Experiência prática em projeto] Construindo openGauss Datakit 5.1.1 baseado em openEuler22.03

Prefácio Existem diferenças consideráveis ​​entre a versão mais recente do Datakit 5.1 e o Datakit 5.0. A estrutura do armazém mudou e os documentos anteriores não são mais aplicáveis. Este artigo compartilhará a versão mais recente do manual prático do Datakit e a experiência pessoal para referência dos entusiastas do openGauss.

1 Introdução ao projeto Este projeto é uma ferramenta visual integrada openGauss baseada na web: DataKit O objetivo é facilitar o uso e gerenciamento da ferramenta de visualização openGauss pelos clientes. gerenciamento, gerenciamento de plug-in e As ferramentas de desenvolvimento, operação e manutenção da camada superior são baseadas em plug-in, e cada plug-in é independente um do outro, facilitando a introdução sob demanda pelos usuários. Cada plug-in é expandido em torno do centro de recursos do DataKit, fornecendo implantação, desinstalação, instalação de componentes com um clique, atualizações de várias versões e operação e manutenção diária, monitoramento, migração, desenvolvimento, modelagem e outras operações complexas.

2 Preparação do ambiente 2.1 Notas A operação atual da plataforma depende do openJDK11

O banco de dados usado pela plataforma atualmente suporta apenas o banco de dados openGauss, e o banco de dados precisa ser criado com antecedência.

O IP do servidor de implantação precisa ser configurado na lista de permissões do banco de dados openGauss usado pela plataforma.

2.2 Sistemas de servidores suportados

openEuler 20.3LTS(x86_x64,ARM)
centos7.x(x86_x64)

Nota: Foi verificado que pode funcionar perfeitamente no openEuler 22.03 LTS.

Verifique a versão do sistema operacional

[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 Resumo Ambiental

Este artigo implanta o Datakit 5.1.1 baseado no sistema operacional openEuler 22.03 LTS.

2.4 Resumo do documento

Documentação oficial do openGauss

https://docs-opengauss.osinfra.cn/zh/docs/5.1.0/docs/ToolandCommandReference/DataKit.htmlDocumentação de uso e documentação de desenvolvimento

https://gitee.com/opengauss/openGauss-workbench/tree/master/openGauss-datakit/doc 2.5 Aquisição de pacote de software Aqui organizei os vários pacotes offline usados ​​em datakit-about.zip e enviei o datakit em segundo plano Você pode conseguir isso.

Você também pode instalar online ou baixar o pacote offline correspondente para instalação.

2.5.1 Existem duas maneiras de obter o pacote de software Datakit:

Baixe através do site oficial do openGauss

https://opengauss.org/zh/download/

Baixe através do repositório oficial do opengauss gitee

Endereço do armazém

https://gitee.com/opengauss/openGauss-workbench

O endereço atual do pacote de instalação da versão mais recente

https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/Datakit/Datakit-5.1.1.tar.gz O pacote de instalação do armazém oficial do openGauss é geralmente uma versão superior à instalação pacote do site oficial do openGauss, contendo os recursos mais recentes e correções fundamentais.

2.5.2 Obtendo o pacote de software openGauss A partir da versão openEuler 22.03 LTS, a imagem do sistema operacional vem com o pacote openGauss RPM, que pode ser instalado através de rpm ou yum. Ele suporta as arquiteturas arm64 e x86_64.

O endereço espelho do openEuler22.03 LTS é:

https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS Você pode baixar o pacote RPM correspondente no endereço acima.

# 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 Obtendo o pacote 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 Carregar datakit-about.zip para o 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 Definir nome de host e resolução de endereço IP

2.7.1 Definir nome do host

[root@localhost ~]# hostnamectl set-hostname trex

2.7.2 Resolução de endereço IP

[root@localhost ~]# echo '192.168.7.100 trex' >> /etc/hosts

2.7.3 Atualizar nome do host

[root@localhost ~]# su [root@trex ~]#

Você pode ver que o nome do host mudou do host local padrão para trex.

2.8 Desligue o firewall

 

# 关闭防火墙
[root@trex ~]# systemctl stop firewalld.service
# 禁止开机自启
[root@trex ~]# systemctl disable firewalld.service

2.9 Desligue o selinux 

2.9.1 Desligamento imediato

[root@trex ~]# setenforce 0

Nota: Inválido após reiniciar o sistema operacional.

2.9.2 Modifique o arquivo de configuração editando /etc/sysconfig/selinux e altere SELINUX=enforcing para SELINUX=disabled

sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

Nota: O sistema operacional precisa ser reiniciado para ter efeito permanente.

2.10 Instale o banco de dados usado pela plataforma Datakit Conforme mencionado anteriormente no artigo, a plataforma atualmente suporta apenas openGauss.

Instalação via Internet

yum install opengauss -y

Instalação off-line

# 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 gerenciamento e configuração de banco de dados opengauss

2.11.1 Visualizar status de inicialização

# 切换到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"

Exibir o servidor em execução indica que o status é normal.

Nota: Os comandos comuns para gerenciamento de serviços openGauss são os seguintes:

Iniciar gs_ctl iniciar

fechar parada gs_ctl

reiniciargs_ctl reiniciar

statusgs_ctl status

2.11.2 Definir uma lista branca para acesso ao banco de dados

Isto é definido para permitir que clientes com qualquer endereço IP acessem o banco de dados openGauss atravé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

Explicação detalhada dos parâmetros:

host: Indica que esta regra se aplica a conexões TCP/IP.

all: indica que esta regra se aplica a todos os bancos de dados e todos os usuários.

0.0.0.0/0: é um intervalo de endereços IP no formato CIDR, indicando que clientes com qualquer endereço IP podem se conectar.

md5: Indica o uso do método de criptografia MD5 para verificar a senha.

2.11.3 Modificar parâmetros do banco de dados

# 设置监听所有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

Verifique se a modificação está correta

[opengauss@trex ~]$ grep -E 'listen_addresses|password_encryption_type|max_connections' postgresql.conf

Explicação detalhada dos parâmetros:
listen_addresses = '*' # Escuta todos os ip
password_encryption_type = 0 # Algoritmo de criptografia
max_connections = 1000 # Número máximo de conexões

2.11.4 Reinicie o serviço openGauss e verifique o status de inicialização Após modificar os parâmetros, você precisa reiniciar o serviço openGauss para ter efeito.

[opengauss@trex ~]$ gs_ctl restart > /dev/null 2>&1

查看启动状态
[opengauss@trex ~]$ gs_ctl status

2.11.5 Criar usuário

登录数据库(操作系统命令)
[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 Instale o openJDK11 e execute como usuário root

Instalação via Internet

[root @trex ~]# yum install -y java-11-openjdk

Instalação off-line

[root @trex ~]# cd /soft/datakit-about/openjdk11/ [root @trex openjdk]# rpm -ivh *.rpm

Leitores cuidadosos descobrirão que ao usar o comando rpm ou yum para instalar o opengauss, o pacote de dependência openJDK8 foi instalado e a plataforma Datakit depende do openJDK11. Atualmente, existem duas versões do JDK no sistema.

Vamos verificar através do comando

[root @trex openjdk]# rpm -qa |

Com certeza, existem duas versões do JDK. Elas entrarão em conflito?

A resposta é: as duas versões do openJDK podem coexistir. Isso será mencionado mais adiante e não será repetido aqui.

3 Instale e implante o Datakit e execute-o como usuário root

3.1 O Datakit tem dois métodos de implantação: implantação de pacote jar

Implantar via docker

Em seguida, instale-o como um pacote jar para demonstração.

3.2 Criar diretório de trabalho do datakit

[root @trex ~]# mkdir -p /ops/{logs,config,ssl,arquivos}

3.3 Mova o pacote de instalação do Datakit para o diretório /ops

[root@trex ~]# cd /soft/datakit-about/datakit/ [root@trex datakit]# mv Datakit-5.1.1.tar.gz /ops/

3.4 Descompacte o pacote de instalação

[root@trex datakit]# cd /ops [root@trex datakit]# tar -xf Datakit-5.1.1.tar.gz Você pode ver as seguintes informações executando o comando ls

[root@trex ops]# ls application-temp.yml Datakit-5.1.1.tar.gz arquivos openGauss-datakit-5.1.1.jar visualtool-plugin config doc logs ssl

3.5 Modificar arquivo de configuração

3.5.1 Mova o arquivo de configuração para o diretório /ops/config [root@trex ops]# mv /ops/application-temp.yml /ops/config/

3.5.2 Editar arquivo de configuração

[root@trex ops]# vi /ops/config/application-temp.yml

Modifique application-temp.ymlas informações do link de dados no arquivo ip、port、database、dbuser、dbpassword.
Modifique-o de acordo com seu ambiente real. O conteúdo do arquivo modificado aqui é o seguinte.

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 Criar arquivo de chave Aqui usamos a ferramenta keytool para gerar a chave. Deve-se observar que o comando keytool -genkey é usado para criar arquivos SSL (incluindo pares de chaves e certificados) e está relacionado ao JDK (Java Development Kit). ). keytool é uma ferramenta fornecida pelo JDK para gerenciar armazenamentos de chaves e certificados para comunicações seguras, como criptografia e autenticação. Mencionamos anteriormente que a plataforma depende do ambiente JDK11, portanto, o JDK11 é usado aqui para criar o arquivo-chave.

3.6.1 Mude para o ambiente openJDK11 e verifique a versão do JDK

# 查看当前jdk版本[root@trex config]# java -version# 切换版本到jdk11
[root@trex config]# alternatives --config java# 再次查看当前jdk版本
[root@trex config]# java -version# 执行结果如下

3.6.2 Criar arquivo de chave

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: O storepass é consistente com a senha do armazenamento de chaves no arquivo de configuração application-temp.yml. O caminho do armazenamento de chaves é consistente com o caminho do armazenamento de chaves no arquivo de configuração application-temp.yml.

3.7 Executar comando de inicialização

# 进入 /ops 目录
cd /ops
# 启动程序
nohup java -Xms2048m -Xmx4096m -jar openGauss-datakit-5.1.1.jar --spring.profiles.active=temp >datakit.out 2>&1 &

Nota: Você pode visualizar o log em execução através de tail -20f datakit.out

4 Uso do Datakit

4.1 Para fazer login na interface de gerenciamento, abra o seguinte endereço no navegador

https://192.168.7.100:9494

Como o navegador possui proteção de segurança, clique em [Avançado] aqui - selecione Continuar para entrar na interface de login.

A senha da conta de login padrão da plataforma é: admin/admin123 Ao fazer login pela primeira vez, você será solicitado a redefinir a senha padrão.

Entre na interface principal

Neste ponto, o openGauss Datakit foi implantado com sucesso por meio do pacote jar.

Os recursos piratas de "Qing Yu Nian 2" foram carregados no npm, fazendo com que o npmmirror suspendesse o serviço unpkg. Zhou Hongyi: Não resta muito tempo para o Google. Sugiro que todos os produtos sejam de código aberto . time.sleep(6) aqui desempenha um papel. Linus é o mais ativo em “comer comida de cachorro”! O novo iPad Pro usa 12 GB de chips de memória, mas afirma ter 8 GB de memória. O People’s Daily Online analisa o carregamento estilo matryoshka do software de escritório: Somente resolvendo ativamente o “conjunto” poderemos ter um futuro . novo paradigma de desenvolvimento para Vue3, sem a necessidade de `ref/reactive `, sem necessidade de `ref.value` MySQL 8.4 LTS Manual chinês lançado: Ajuda você a dominar o novo domínio de gerenciamento de banco de dados Tongyi Qianwen nível GPT-4 modelo principal preço reduzido em 97%, 1 yuan e 2 milhões de tokens
{{o.nome}}
{{m.nome}}

Acho que você gosta

Origin my.oschina.net/gaussdb/blog/11185222
Recomendado
Clasificación