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.yml
as 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
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