[실제 프로젝트 경험] openEuler22.03을 기반으로 openGauss Datakit 5.1.1 구축

서문 최신 버전의 Datakit 5.1과 Datakit 5.0에는 상당한 차이가 있습니다. 웨어하우스 구조가 변경되어 이전 문서는 더 이상 적용되지 않습니다. 이 기사에서는 openGauss 매니아들의 참고를 위해 최신 버전의 Datakit 실습 매뉴얼과 개인적인 경험을 공유할 것입니다.

1 프로젝트 소개 이 프로젝트는 고객이 openGauss 시각화 도구를 쉽게 사용하고 관리할 수 있도록 하는 웹 기반 openGauss 시각적 통합 도구입니다. 관리, 플러그인 관리, 상위계층의 개발 및 운영, 유지관리 도구는 플러그인 기반으로 되어 있으며, 각 플러그인은 서로 독립되어 있어 사용자가 필요에 따라 쉽게 도입할 수 있습니다. 각 플러그인은 DataKit의 리소스 센터를 중심으로 확장되어 원클릭 배포, 제거, 구성 요소 설치, 다중 버전 업그레이드, 일일 운영 및 유지 관리, 모니터링, 마이그레이션, 개발, 모델링 및 기타 복잡한 작업을 제공합니다.

2 환경 준비 2.1 참고 사항 현재 플랫폼 동작은 openJDK11에 따라 다릅니다.

플랫폼에서 사용하는 데이터베이스는 현재 openGauss 데이터베이스만 지원하며, 사전에 데이터베이스를 생성해야 합니다.

배포 서버 IP는 플랫폼에서 사용하는 openGauss 데이터베이스의 화이트리스트에 구성되어야 합니다.

2.2 지원되는 서버 시스템

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

참고: openEuler 22.03 LTS에서 완벽하게 실행될 수 있는 것으로 확인되었습니다.

운영 체제 버전 확인

[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 환경 요약

이 문서에서는 openEuler 22.03 LTS 운영 체제를 기반으로 Datakit 5.1.1을 배포합니다.

2.4 문서 요약

openGauss 공식 문서

https://docs-opengauss.osinfra.cn/zh/docs/5.1.0/docs/ToolandCommandReference/DataKit.html 사용 설명서 및 개발 설명서

https://gitee.com/opengauss/openGauss-workbench/tree/master/openGauss-datakit/doc 2.5 소프트웨어 패키지 획득 여기서는 datakit-about.zip에 사용되는 다양한 오프라인 패키지를 정리하고 백그라운드에서 데이터킷을 보냈습니다. 당신은 그것을 얻을 수 있습니다.

온라인으로 설치하거나 해당 오프라인 패키지를 다운로드하여 설치할 수도 있습니다.

2.5.1 Datakit 소프트웨어 패키지를 얻는 방법에는 두 가지가 있습니다.

openGauss 공식 웹사이트를 통해 다운로드하세요.

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

opengauss 공식 gitee 저장소를 통해 다운로드하세요.

창고 주소

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

현재 최신 버전 설치 패키지 주소

https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/Datakit/Datakit-5.1.1.tar.gz openGauss 공식 gitee 창고의 설치 패키지는 일반적으로 설치 버전보다 상위 버전입니다. 최신 기능과 기본적인 수정 사항이 포함된 openGauss 공식 웹사이트 패키지입니다.

2.5.2 openGauss 소프트웨어 패키지 얻기 openEuler 22.03 LTS 버전부터 운영 체제 이미지는 rpm 또는 yum을 통해 설치할 수 있는 openGauss RPM 패키지와 함께 제공됩니다. arm64 및 x86_64 아키텍처를 모두 지원합니다.

openEuler22.03 LTS의 미러 주소는 다음과 같습니다.

https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS 위 주소에서 해당 RPM 패키지를 다운로드할 수 있습니다.

# 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 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 datakit-about.zip을 서버에 업로드

# 创建安装包存放目录
[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 호스트 이름 및 IP 주소 확인 설정

2.7.1 호스트 이름 설정

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

2.7.2 IP 주소 확인

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

2.7.3 호스트 이름 새로 고침

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

호스트 이름이 기본 localhost에서 trex로 변경된 것을 확인할 수 있습니다.

2.8 방화벽 끄기

 

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

2.9 selinux 끄기 

2.9.1 즉시 종료

[root@trex ~]# setenforce 0

참고: 운영 체제를 다시 시작한 후에는 유효하지 않습니다.

2.9.2 /etc/sysconfig/selinux를 편집하여 구성 파일을 수정하고 SELINUX=enforcing을 SELINUX=disabled로 변경합니다.

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

참고: 영구적으로 적용하려면 운영 체제를 다시 시작해야 합니다.

2.10 Datakit 플랫폼에서 사용하는 데이터베이스를 설치합니다. 기사 앞부분에서 언급했듯이 플랫폼은 현재 openGauss만 지원합니다.

인터넷을 통한 설치

yum install opengauss -y

오프라인 설치

# 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 opengauss 데이터베이스 관리 및 구성

2.11.1 시작 상태 보기

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

서버가 실행 중이라고 표시되면 상태가 정상임을 나타냅니다.

참고: openGauss 서비스 관리를 위한 일반적인 명령은 다음과 같습니다.

gs_ctl 시작 시작

gs_ctl 중지를 닫습니다.

restartgs_ctl 다시 시작

statusgs_ctl 상태

2.11.2 데이터베이스 접근을 위한 화이트리스트 설정

이는 모든 IP 주소를 가진 클라이언트가 TCP/IP를 통해 openGauss 데이터베이스에 액세스할 수 있도록 설정됩니다.

# 进入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

매개변수에 대한 자세한 설명:

호스트: 이 규칙이 TCP/IP 연결에 적용됨을 나타냅니다.

all: 이 규칙이 모든 데이터베이스와 모든 사용자에게 적용됨을 나타냅니다.

0.0.0.0/0: CIDR 형식의 IP 주소 범위로, 모든 IP 주소를 가진 클라이언트가 연결이 허용됨을 나타냅니다.

md5: MD5 암호화 방법을 사용하여 비밀번호를 확인함을 나타냅니다.

2.11.3 데이터베이스 매개변수 수정

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

수정이 제대로 되었는지 확인

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

매개변수에 대한 자세한 설명:
Listen_addresses = '*' # 모든 IP 듣기
Password_encryption_type = 0 # 암호화 알고리즘
max_connections = 1000 # 최대 연결 수

2.11.4 openGauss 서비스를 다시 시작하고 시작 상태를 확인합니다. 매개변수를 수정한 후 적용하려면 openGauss 서비스를 다시 시작해야 합니다.

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

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

2.11.5 사용자 생성

登录数据库(操作系统命令)
[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 openJDK11 설치 및 루트 사용자로 실행

인터넷을 통한 설치

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

오프라인 설치

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

주의깊은 독자라면 rpm 또는 yum 명령을 사용하여 opengauss를 설치할 때 종속 패키지 openJDK8이 설치되었고 Datakit 플랫폼은 openJDK11에 의존한다는 사실을 알게 될 것입니다. 현재 시스템에는 두 가지 버전의 JDK가 충돌하지 않습니다.

명령어를 통해 확인해보자

[root @trex openjdk]# rpm -qa | grep openjdk 결과는 다음과 같습니다.

물론, JDK에는 두 가지 버전이 있습니다. 두 버전이 충돌합니까?

대답은 다음과 같습니다. 두 가지 버전의 openJDK가 공존할 수 있습니다. 나중에 언급할 것이므로 여기서는 반복하지 않겠습니다.

3 Datakit을 설치 및 배포하고 루트 사용자로 실행합니다.

3.1 Datakit에는 두 가지 배포 방법이 있습니다. jar 패키지 배포

Docker를 통해 배포

다음으로 데모를 위해 jar 패키지로 설치합니다.

3.2 데이터킷 작업 디렉토리 생성

[루트 @trex ~]# mkdir -p /ops/{logs,config,ssl,files}

3.3 Datakit 설치 패키지를 /ops 디렉터리로 이동

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

3.4 설치 패키지 압축 풀기

[root@trex datakit]# cd /ops [root@trex datakit]# tar -xf Datakit-5.1.1.tar.gz ls 명령을 실행하면 다음과 같은 정보를 확인할 수 있습니다.

[root@trex ops]# ls application-temp.yml Datakit-5.1.1.tar.gz 파일 openGauss-datakit-5.1.1.jar Visualtool-plugin 구성 문서 로그 SSL

3.5 구성 파일 수정

3.5.1 구성 파일을 /ops/config 디렉터리로 이동합니다. [root@trex ops]# mv /ops/application-temp.yml /ops/config/

3.5.2 구성 파일 편집

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

application-temp.yml파일의 데이터 링크 정보를 수정합니다 ip、port、database、dbuser、dbpassword.
실제 환경에 맞게 수정하세요. 여기에서 수정된 파일 내용은 다음과 같습니다.

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 키 파일 생성 여기서는 keytool 도구를 사용하여 키를 생성합니다. keytool -genkey 명령은 SSL 파일(키 쌍 및 인증서 포함)을 생성하는 데 사용되며 JDK(Java Development Kit)와 관련이 있습니다. ). keytool은 암호화 및 인증과 같은 보안 통신을 위한 키 저장소 및 인증서를 관리하기 위해 JDK에서 제공하는 도구입니다. 앞서 플랫폼이 JDK11 환경에 의존한다고 언급했으므로 여기서는 JDK11을 사용하여 키 파일을 생성합니다.

3.6.1 openJDK11 환경으로 전환하여 JDK 버전 확인

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

3.6.2 키 파일 생성

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

참고: storepass는 구성 파일 application-temp.yml의 key-store-password와 일치합니다. 키 저장소 경로는 구성 파일 application-temp.yml의 키 저장소 경로와 일치합니다.

3.7 시작 명령 실행

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

참고: tail -20f datakit.out을 통해 실행 로그를 볼 수 있습니다.

4 데이터킷의 활용

4.1 관리 인터페이스에 로그인하려면 브라우저에서 다음 주소를 엽니다.

https://192.168.7.100:9494

브라우저에는 보안 보호 기능이 있으므로 여기에서 [고급]을 클릭하고 계속을 선택하여 로그인 인터페이스로 들어갑니다.

플랫폼의 기본 로그인 계정 비밀번호는 admin/admin123입니다. 처음 로그인하면 기본 비밀번호를 재설정하라는 메시지가 표시됩니다.

메인 인터페이스로 들어가세요

이 시점에서 openGauss Datakit은 jar 패키지를 통해 성공적으로 배포되었습니다.

"Qing Yu Nian 2"의 불법 복제된 리소스가 npm에 업로드되어 npmmirror가 unpkg 서비스를 중단하게 되었습니다. Zhou Hongyi: Google에 남은 시간이 많지 않습니다. time.sleep(6) 여기서는 어떤 역할을 합니까? 리누스는 "개사료 먹기"에 가장 적극적입니다! 새로운 iPad Pro는 12GB의 메모리 칩을 사용하지만 8GB의 메모리를 가지고 있다고 주장합니다. People's Daily Online은 사무용 소프트웨어의 마트료시카 스타일 충전을 검토합니다. "세트"를 적극적으로 해결해야만 Flutter 3.22 및 Dart 3.4 출시가 가능 합니다. 'ref/reactive'가 필요 없는 Vue3의 새로운 개발 패러다임, 'ref.value'가 필요 없음 MySQL 8.4 LTS 중국어 매뉴얼 출시: 데이터베이스 관리의 새로운 영역을 마스터하는 데 도움 Tongyi Qianwen GPT-4 수준 메인 모델 가격 인하 97% 증가, 1위안 200만 토큰
{{o.이름}}
{{이름}}

추천

출처my.oschina.net/gaussdb/blog/11185222