[プロジェクトの実践経験] openEuler22.03をベースにしたopenGauss Datakit 5.1.1の構築

はじめに 最新バージョンの Datakit 5.1 と Datakit 5.0 の間には大きな違いがあり、ウェアハウス構造が変更されたため、以前のドキュメントは適用できなくなりました。この記事では、openGauss 愛好家の参考となるように、Datakit 実践マニュアルの最新バージョンと個人的な経験を共有します。

1 プロジェクトの概要 このプロジェクトは、Web ベースの openGauss ビジュアル統合ツールである DataKit です。その目的は、顧客が 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 ソフトウェア パッケージを入手するには 2 つの方法があります。

openGauss 公式 Web サイトからダウンロード

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 公式 Web サイトのパッケージ。最新の機能と基本的な修正が含まれています。

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

注:OS再起動後は無効です。

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"

「server is running」と表示されている場合は、状態が正常であることを示します。

注: 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

パラメータの詳細な説明:

host: このルールが 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をインストールし、rootユーザーで実行する

インターネット経由でのインストール

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

オフラインインストール

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

注意深い読者は、rpm または yum コマンドを使用して opengauss をインストールすると、依存関係パッケージ openJDK8 がインストールされ、Datakit プラットフォームは現在システム内に 2 つのバージョンの JDK が存在することに気づくでしょう。

コマンドで確認してみましょう

[root @trex openjdk]# rpm -qa grep openjdk 結果は次のようになります。

案の定、JDK には 2 つのバージョンがありますが、それらは競合しますか?

答えは、openJDK の 2 つのバージョンは共存できるということです。それについては後で説明するので、ここでは繰り返しません。

3 Datakit をインストールしてデプロイし、root ユーザーとして実行します

3.1 Datakit には 2 つのデプロイメント方法があります: jar パッケージのデプロイメント

Docker経由でデプロイする

次に、デモンストレーション用に jar パッケージとしてインストールします。

3.2 データキット作業ディレクトリの作成

[root @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 files openGauss-datakit-5.1.1.jar Visualtool-plugin config doc logs 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

注: ストアパスは、構成ファイル 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 サービスを停止せざるを 得なくなりました。 周宏儀: すべての製品をオープンソースにすることを提案します 。ここで time.sleep(6) はどのような役割を果たしますか? ライナスは「ドッグフードを食べる」ことに最も積極的! 新しい iPad Pro は 12GB のメモリ チップを使用していますが、8GB のメモリを搭載していると主張しています。People 's Daily Online は、オフィス ソフトウェアのマトリョーシカ スタイルの充電についてレビューしています。「セット」を積極的に解決することによってのみ、 Flutter 3.22 と Dart 3.4 のリリース が可能になります。 Vue3 の新しい開発パラダイム、「ref/reactive」、「ref.value」不要 MySQL 8.4 LTS 中国語マニュアルリリース: データベース管理の新しい領域の習得に役立ちます Tongyi Qianwen GPT-4 レベルのメイン モデルの価格が値下げされました97%、1元と200万トークン
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/gaussdb/blog/11185222