Skip to content

インストールとデプロイ

本ドキュメントは、個人版および企業版ソフトウェアのインストールに共通して適用されます。両バージョンともインストール手順は同一です。

まず、ダウンロードページからインストールパッケージを取得してください。初期アカウントは admin/admin です。

インストール時に設定が必要なパラメータを理解しやすくするため、ログ監視に関する機能設計を事前にご確認ください。

ローカル環境でのスタンドアロン版デプロイ

準備作業

  • Java 環境の依存関係:サーバーに JDK をインストールし、環境変数を設定してください。推奨バージョンは JDK 8、JDK 11、JDK 17 です。
  • インストールパッケージをダウンロードし、インストールしたいディレクトリに解凍します。
  • Linux サーバーの場合、OpenSSL 3 のインストールが必要です。詳細は こちら を参照してください。

NOTE

一般的に新しいバージョンの Linux システムには OpenSSL 3 が標準搭載されているため、openssl version コマンドで OpenSSL のバージョンを確認できます。

データベースの初期化

  • メタデータベースは MySQL、PostgreSQL、または内蔵の SQLite をサポートします。MySQL や PostgreSQL を選択する場合は、事前に初期化スクリプト sql/ddl_mysql.sql もしくは sql/ddl_postgres.sql を実行してください。内蔵の SQLite を使用する場合は、追加の初期化は不要です。
  • ログデータベースは ClickHouse、MySQL、PostgreSQL をサポートします。対応するデータベース上で、初期化スクリプト sql/access_log_clickhouse.sqlsql/access_log_mysql.sql、または sql/access_log_postgres.sql を事前に実行してください。

IMPORTANT

ログデータベースとして MySQL や PostgreSQL を選択する場合、リソースの分離を図るため、メタデータベースとは異なる物理インスタンスに配置することを推奨します。

設定パラメータ

  • conf/application.properties ファイル内の以下の設定を変更してください。
properties
# API アクセスパスの統一ルート。例: http://192.168.xx.xx:8520/api/xxx
# API コンテキスト
dbapi.api.context=api

# データベースアドレスを変更しない場合、内蔵の SQLite メタデータベースが使用されます。
# メタデータベースのアドレス。MySQL、PostgreSQL、または内蔵の SQLite を指定可能
spring.datasource.dynamic.datasource.meta-db.driver-class-name=org.sqlite.JDBC
spring.datasource.dynamic.datasource.meta-db.url=jdbc:sqlite::resource:sqlite.db
spring.datasource.dynamic.datasource.meta-db.username=
spring.datasource.dynamic.datasource.meta-db.password=

# API アクセスログをログデータベースへ書き込む方式(推奨: db、kafka、null)。値は db、kafka、null のいずれか
# db は DBAPI が直接ログデータベースへ書き込む方式
# kafka は DBAPI が Kafka へログを送信し、ユーザー側で Kafka からログを収集してデータベースへ転送する方式
# null は DBAPI がローカルディスクファイル(logs/dbapi-access.log)へのみログを保存し、ユーザーが自らディスクファイルからログを収集してデータベースへ転送する方式
access.log.writer=null

# ログデータベースのアドレス。MySQL、PostgreSQL、ClickHouse、Doris のいずれかを推奨。画面の監視機能を使用しない場合は、設定不要
spring.datasource.dynamic.datasource.access-log-db.driver-class-name=ru.yandex.clickhouse.ClickHouseDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:clickhouse://127.0.0.1:8123/default
spring.datasource.dynamic.datasource.access-log-db.username=default
spring.datasource.dynamic.datasource.access-log-db.password=123456

# access.log.writer=kafka を設定した場合、Kafka のアドレスとログ出力先のトピックも必要
access.log.kafka.topic=dbapi_access_log
spring.kafka.bootstrap-servers=127.0.0.1:9092
  • オプション)ログの自動クリーンアップを設定します。

ログデータベースを使用している場合、ログデータベース内のログを自動的に削除する設定を行うことができます。 conf/application.properties ファイル内の以下の設定を変更してください。

properties
# ログの自動クリーンアップを有効にするかどうか。既定では無効
# Enable or disable automatic cleanup of access logs (true/false)
access.log.autoClean.enable=false

# クリーンアップタスクのスケジュール。毎日午前3時実行
# Cron expression for scheduling the access log cleanup task (executes daily at 3:00 AM by default)
access.log.autoClean.cron=0 0 3 * * ?

# ログデータの保持日数。既定では15日
# Number of days to retain access logs before cleanup (15 days by default)
access.log.autoClean.retention.days=15

NOTE

この設定は企業版ソフトウェアでのみ利用可能です。

  • オプション)ポート番号を変更します。

conf/applicaton-standalone.properties ファイル内の server.port を変更してください。

properties
server.port=8520
  • オプション)UI ページへのアクセス許可 IP を設定します。

conf/applicaton-standalone.properties ファイル内の dbapi.ui.allowed.ips を変更してください。

properties
# スタンドアロンモードでは、どの IP アドレスから UI ページへアクセスできるかを設定。未設定の場合はすべての IP がアクセス可能
dbapi.ui.allowed.ips=
  • オプション)メモリパラメータを調整します。

bin/jvm_env.properties ファイル内の standalone_opts 値を変更してください。

properties
# standalone_opts="-Xms1g -Xmx4g -Xmn2g"

既定値のままでも構いません。

  • オプション)Java コマンドのパスを設定します。

複数の JDK バージョンをインストールしている場合、特定のバージョンを使用する必要があるため、この設定を行ってください。未設定の場合は、環境変数に指定された Java コマンドが使用されます。

bin/jvm_env.properties ファイル内の JAVA_LOCATION 値を変更してください。Java コマンドのフルパスを入力します。例えば /usr/bin/java

properties
JAVA_LOCATION="/usr/bin/java"

起動コマンド

Linux

  • スクリプトを使用して起動・停止します。
shell
# Ubuntu/Debian 系統では bash を使用してください。sh は使用しないでください。
bash bin/dbapi-daemon.sh start standalone
bash bin/dbapi-daemon.sh stop standalone

# 再起動
bash bin/dbapi-daemon.sh restart standalone

# ステータス確認
bash bin/dbapi-daemon.sh status standalone
  • ログを確認するためにフォアグラウンドで実行する場合は、次のコマンドを実行してください。
shell
bash bin/dbapi.sh start standalone

Windows

  • bin/dbapi.ps1 を右クリックし、PowerShell で実行してください。
  • バックグラウンドで動作させる場合は、PowerShell で bin/start.ps1 を実行してください。
  • bin/start.ps1 で起動したサービスを停止するには、PowerShell で bin/stop.ps1 を実行してください。

NOTE

スタンドアロン版のログファイルは logs/dbapi-standalone.log です。

NOTE

Windows システムではスタンドアロンモードのみサポートされ、クラスター版はサポートされていません。

WARNING

初回起動後、システムが自動的に終了します。アクティベーションを完了し、再起動してからご利用ください。

  • ブラウザで http://192.168.xx.xx:8520 にアクセスし、UI へ進んでください。

TIP

以前に旧バージョンをインストール済みの場合は、ブラウザキャッシュを強制的に更新するために Ctrl+F5 を押してください。ページキャッシュによる不具合を防ぎます。

ローカル環境でのクラスター版デプロイ

クラスターの役割説明

  • クラスターには 3 種類のサービスプロセスがあります。managergatewayapiServer です。
  • manager は管理サービスであり、Web UI サービスです。この UI を通じてデータソースやグループ、API の作成、さらに API のオンラインデバッグ、実行、公開、非公開などの操作が可能です。このサービスプロセスはクラスター全体で 1 つだけ存在します。
  • gateway はゲートウェイサービスで、API リクエストを各 apiServer へ分配する役割を担います。このサービスプロセスもクラスター全体で 1 つだけ存在します。
  • apiServer は API サービスで、API リクエストを受け取り、その中のビジネスロジックを実行します。このサービスプロセスはクラスター内で複数存在可能です。

準備作業

  • クラスターのデプロイには Nacos、データベース(MySQL または PostgreSQL)、Redis が必要です。Nacos(推奨バージョン 1.4.2)、データベース(MySQL または PostgreSQL)、Redis を事前にインストールしてください。
  • 複数台の Linux サーバーを用意し、各サーバーに JDK をインストールしてください。推奨バージョンは JDK 8、JDK 11、JDK 17 です。
  • 各 Linux サーバーに OpenSSL 3 をインストールしてください。詳細は こちら を参照してください。

NOTE

一般的に新しいバージョンの Linux システムには OpenSSL 3 が標準搭載されているため、openssl version コマンドで OpenSSL のバージョンを確認できます。

注意事項

全てのサーバーの時刻を同期させてください。

防火壁を有効にしている場合は、managergateway および apiServer にアクセスできること、また gatewayapiServer にアクセスできることを確認してください。

SSH 無料認証設定

  • デプロイ用マシン host1 を選び、host1 から他の各マシンへ SSH 無料認証を設定します。
shell
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

for ip in host2 host3;     # ここでは host2, host3 をそれぞれ自分のデプロイ予定のマシン名に置き換えてください
do
  ssh-copy-id  $ip   # この操作中、デプロイユーザーのパスワードを手動で入力する必要があります
done

ダウンロードと解凍

  • インストールパッケージをダウンロードし、デプロイ用マシン host1 のインストールディレクトリに解凍します。

データベースの初期化

  • クラスター版では、メタデータベースは MySQL または PostgreSQL をサポートします。事前に初期化スクリプト sql/ddl_mysql.sql もしくは sql/ddl_postgres.sql を実行してください。
  • ログデータベースは ClickHouse、MySQL、PostgreSQL をサポートします。対応するデータベース上で、初期化スクリプト sql/access_log_clickhouse.sqlsql/access_log_mysql.sql、または sql/access_log_postgres.sql を事前に実行してください。

IMPORTANT

ログデータベースとして MySQL や PostgreSQL を選択する場合、リソースの分離を図るため、メタデータベースとは異なる物理インスタンスに配置することを推奨します。

設定パラメータ

  • conf/application.properties ファイル内の以下の設定を変更してください。
properties
#################################### 下記の設定項目をご確認ください #####################################
# API アクセスパスの統一ルート。例: http://192.168.xx.xx:8520/api/xxx
# API コンテキスト
dbapi.api.context=api

# メタデータベースのアドレス。クラスター版では MySQL または PostgreSQL のみ使用可能
spring.datasource.dynamic.datasource.meta-db.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.meta-db.url=jdbc:mysql://127.0.0.1:3306/dbapi?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.dynamic.datasource.meta-db.username=root
spring.datasource.dynamic.datasource.meta-db.password=root

# API アクセスログをログデータベースへ書き込む方式。値は db、kafka、null のいずれか
# db は DBAPI が直接ログデータベースへ書き込む方式
# kafka は DBAPI が Kafka へログを送信し、ユーザー側で Kafka からログを収集してデータベースへ転送する方式
# null は DBAPI がローカルディスクファイル(logs/dbapi-access.log)へのみログを保存し、ユーザーが自らディスクファイルからログを収集してデータベースへ転送する方式
access.log.writer=null

# ログデータベースのアドレス。ClickHouse、MySQL、PostgreSQL、Doris のいずれかを推奨。画面の監視機能を使用しない場合は、設定不要
spring.datasource.dynamic.datasource.access-log-db.driver-class-name=ru.yandex.clickhouse.ClickHouseDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:clickhouse://127.0.0.1:8123/default
spring.datasource.dynamic.datasource.access-log-db.username=default
spring.datasource.dynamic.datasource.access-log-db.password=123456

# access.log.writer=kafka を設定した場合、Kafka のアドレスとログ出力先のトピックも必要
access.log.kafka.topic=dbapi_access_log
spring.kafka.bootstrap-servers=127.0.0.1:9092

############################## クラスター版の場合、下記の設定項目も必要です ##############################

# Nacos のアドレス。クラスター版で必要
spring.cloud.nacos.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.namespace=public

# Redis のアドレス。クラスター版で必要
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.database=0
spring.redis.password=

Redis センチネルモード

Redis がセンチネルモードを使用している場合、Redis 関連の設定を次のように変更する必要があります。

properties
spring.redis.sentinel.master=mymaster
spring.redis.sentinel.nodes=192.168.3.10:26379,192.168.3.10:26380,192.168.3.10:26381
spring.redis.password=123456
spring.redis.timeout=2000ms
  • オプション)ログの自動クリーンアップの設定

ログデータベースを使用している場合、ログデータベース内のログを自動的にクリーンアップするよう設定できます。conf/application.properties ファイル内の以下の設定を変更してください。

properties
# アクセスログの自動クリーンアップを有効にするかどうか(デフォルトは無効)
access.log.autoClean.enable=false

# アクセスログクリーンアップタスクのスケジュール(デフォルトは毎日午前3時実行)
access.log.autoClean.cron=0 0 3 * * ?

# クリーンアップ前のアクセスログの保持日数(デフォルトは15日)
access.log.autoClean.retention.days=15

NOTE

この設定はエンタープライズ版ソフトウェアでのみサポートされています。

  • オプション)ポート番号の変更

gateway のポート番号を変更するには、conf/application-gateway.yml ファイル内の server.port を編集します。

yml
server:
  port: 8525

manager のポート番号を変更するには、conf/application-manager.properties ファイル内の server.port を編集します。

properties
server.port=8523

apiServer のポート番号を変更するには、conf/application-apiServer.properties ファイル内の server.port を編集します。

properties
server.port=8524

CAUTION

ファイアウォールを有効にしている場合は、ポート番号を変更した後、ファイアウォールの設定も適切に行い、manager から gatewayapiServer へ、また gateway から apiServer へアクセスできるようにしてください。

  • オプション)メモリパラメータの変更

bin/jvm_env.properties ファイル内の manager_optsapiServer_optsgateway_opts の値を変更します。

properties
# クラスター展開時の manager の JVM パラメータ設定
#manager_opts="-Xms512m -Xmx1g -Xmn512m"

# クラスター展開時の apiServer の JVM パラメータ設定
#apiServer_opts="-Xms1g -Xmx4g -Xmn2g"

# クラスター展開時の gateway の JVM パラメータ設定
#gateway_opts="-Xms1g -Xmx4g -Xmn2g"

デフォルトのまま変更しないことも可能です。

  • オプション)Java コマンドのパスの設定

複数の JDK バージョンをインストールしている場合、特定のバージョンの JDK を使用する必要があるときは、この設定を行ってください。設定しなくても、環境変数に指定された Java コマンドがデフォルトで使用されます。

bin/jvm_env.properties ファイル内の JAVA_LOCATION の値を、Java コマンドが存在するフルパス(例:/usr/bin/java)に設定します。

properties
JAVA_LOCATION="/usr/bin/java"

WARNING

クラスター版を展開する際は、この設定を必ず行うことを強く推奨します。クラスター起動スクリプトでは SSH を介して遠隔地から Java コマンドを実行しますが、SSH 経由でコマンドを実行する際には、デフォルトで環境変数が読み込まれないため、システム上の Java コマンドが認識されない可能性があります。

  • conf/install_config.conf ファイルを編集し、インストール対象のマシンノードを設定します。
shell
# DBApi をインストールするすべてのホストの IP アドレスまたはホスト名をコンマ区切りで記載
ips=host1,host2,host3

sshPort=22

# gateway をインストールするホスト
gateway=host1

# apiServer をインストールするホスト(複数の場合、コンマ区切り)
apiServers=host1,host2,host3

# manager をインストールするホスト
manager=host2

インストールファイルのコピー

  • host1 のインストールファイルを他の各マシンの同一ディレクトリへコピーします。スクリプトを使用すれば一括コピーが可能です。
shell
bash bin/scp-host.sh

起動コマンド

  • クラスター操作用スクリプト
shell
# クラスターをワンクリックで起動
bash bin/start-all.sh

# クラスターをワンクリックで停止
bash bin/stop-all.sh

# クラスターの稼働状況をワンクリックで確認
bash bin/status-all.sh

# 各サービスを手動で起動・停止
bash bin/dbapi-daemon.sh start gateway
bash bin/dbapi-daemon.sh start manager
bash bin/dbapi-daemon.sh start apiServer

bash bin/dbapi-daemon.sh stop gateway
bash bin/dbapi-daemon.sh stop manager
bash bin/dbapi-daemon.sh stop apiServer

# 各サービスを手動で再起動
bash bin/dbapi-daemon.sh restart gateway
bash bin/dbapi-daemon.sh restart manager
bash bin/dbapi-daemon.sh restart apiServer

# 各サービスを手動でフロントエンドで起動(コマンドラインでログを確認可能)
bash bin/dbapi.sh start gateway
bash bin/dbapi.sh start manager
bash bin/dbapi.sh start apiServer

INFO

ubuntu/debian 系統の場合は、sh コマンドではなく bash コマンドを使用してください。

NOTE

クラスター版では、gateway、apiServer、manager の3種類のサービスプロセスそれぞれに独自のログファイルがあり、そのファイル名はそれぞれ logs/dbapi-gateway.loglogs/dbapi-apiServer.loglogs/dbapi-manager.log です。

WARNING

初回起動時にはシステムが自動的に終了しますので、アクティベートを行う必要があります。アクティベート後に再起動することで利用可能となります。必ずアクティベートしてください!アクティベート!アクティベート!ライセンスを申請してからでないと使用できません!ライセンスを申請してからでないと使用できません!

  • ブラウザで http://192.168.xx.xx:8523 にアクセスすると UI が表示され、API は gateway を経由して http://192.168.xx.xx:8525/api/xx にアクセスします。

TIP

以前に旧バージョンをインストールして使用していた場合、旧バージョンのブラウザキャッシュが残っている可能性があるため、ブラウザで Ctrl+F5 を押して強制的にキャッシュを更新してください。

MCP のインストール

MCP サービスは DBAPI の独立したコンポーネントであり、DBAPI のスタンドアロン版やクラスター版とは別に単独で展開できます。MCP サービスを使用しなくても、DBAPI の基本機能は通常通り動作します。

準備

  • DBAPI のスタンドアロン版またはクラスター版が既にインストールされ、正常に起動していることを確認してください。MCP は DBAPI が利用可能な場合にのみ正常に動作します。

設定の変更

  • DBAPI のインストールディレクトリに移動し、mcp/mcp-config.yaml を編集します。
yml
base_url: "http://127.0.0.1:8520"
admin_username: "admin"
admin_password: "admin"
mcp_port: 8526
refresh_interval: 60
  • 設定項目の説明:
    • base_url:DBAPI のアクセスアドレス。クラスター展開時は manager サービスのアドレスを入力してください。
    • admin_usernameadmin_password:DBAPI の管理者アカウント。
    • mcp_port:MCP サービスの監視ポート。
    • refresh_interval:MCP ツールの更新間隔(秒単位)。デフォルトは60秒。

MCP サービスの起動

  • DBAPI のインストールディレクトリに移動した後、次のコマンドを実行します。
shell
# バックグラウンドで起動
bash bin/dbapi-mcp.sh start

# 停止・ステータス確認・再起動
bash bin/dbapi-mcp.sh stop
bash bin/dbapi-mcp.sh status
bash bin/dbapi-mcp.sh restart

# フロントエンドで起動
bash bin/dbapi-mcp.sh fg
  • Windows 系統では、bin\dbapi-mcp.bat をダブルクリックして MCP サービスを起動できます。

MCP サービスの利用

  • MCP サービスはデフォルトで http://127.0.0.1:8526 を監視しており、MCP のエンドポイントは http://127.0.0.1:8526/mcp です。
  • MCP サービスはデフォルトで streamableHttp 方式を使用しています。
  • プライベート API にアクセスする際には必ずトークンが必要です。MCP クライアントがサービスを呼び出す際には、リクエストヘッダーに Authorization を追加し、以下のような形式で指定します。
text
Authorization: <token>
  • このトークンは DBAPI のトークン取得 API を通じて取得できます。Cherry Studio を例として、設定は次のとおりです。

図7

付録

  • Docker を使用した Nacos の迅速なインストール
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:1.4.2