ScalarDB Analytics の設定
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このページでは、ScalarDB Analytics のすべてのコンポーネントの設定に関する包括的なリファレンスを提供します。
概要
ScalarDB Analytics は、設定が必要な 3 つの主要コンポーネントで構成されています:
- ScalarDB Analytics サーバー - カタログ情報とメータリングサービスをホストするサーバー
- CLI クライアント - カタログとデータソースを管理するためのコマンドラインインターフェース
- Spark 統合 - Apache Spark で ScalarDB Analytics を使用するための設定
ScalarDB Analytics サーバー設定
サーバーは、データベース接続、ネットワーク設定、ライセンス、オプション機能を定義する標準的な Java プロパティファイル (例: scalardb-analytics-server.properties) を使用して設定されます。
メタデータデータベース設定
カタログ情報を格納するメタデータデータベースを設定します。
db.contact_points
- フィールド:
scalar.db.analytics.server.db.contact_points - 説明: ScalarDB Analytics で使用されるメタデータデータベースの JDBC URL。
db.username
- フィールド:
scalar.db.analytics.server.db.username - 説明: メタデータデータベースに接続するためのユーザー名。
db.password
- フィールド:
scalar.db.analytics.server.db.password - 説明: メタデータデータベースユーザーのパスワード。
サーバーネットワーク設定
サービスポートと TLS/SSL 暗号化を含むネットワーク設定を構成します。
catalog.port
- フィールド:
scalar.db.analytics.server.catalog.port - 説明: カタログサービスのポート。
- デフォルト値:
11051
metering.port
- フィールド:
scalar.db.analytics.server.metering.port - 説明: メータリングサービスのポート。
- デフォルト値:
11052
tls.enabled
- フィールド:
scalar.db.analytics.server.tls.enabled - 説明: セキュアな通信のために TLS/SSL を有効にする。
- デフォルト値:
false
tls.cert_chain_path
- フィールド:
scalar.db.analytics.server.tls.cert_chain_path - 説明: サーバー証明書チェーンファイルへのパス。
tls.enabledがtrueの場合に必須。
tls.private_key_path
- フィールド:
scalar.db.analytics.server.tls.private_key_path - 説明: サーバー秘密鍵ファイルへのパス。
tls.enabledがtrueの場合に必須。
ライセンス設定
ScalarDB Analytics ライセンスを設定します。
licensing.license_key
- フィールド:
scalar.db.analytics.server.licensing.license_key - 説明: ScalarDB Analytics ライセンスキー。
licensing.license_check_cert_pem
- フィールド:
scalar.db.analytics.server.licensing.license_check_cert_pem - 説明: ライセンス検証に使用する証明書の PEM 形式文字列。本フィールドまたは
license_check_cert_pathのいずれか一方を指定してください。
licensing.license_check_cert_path
- フィールド:
scalar.db.analytics.server.licensing.license_check_cert_path - 説明: ライセンス検証に使用する証明書ファイルのパス。本フィールドまたは
license_check_cert_pemのいずれか一方を指定してください。
認証・認可設定
ScalarDB Analytics サーバーの認証と認可を設定します。詳細については、ScalarDB Analytics でユーザーを認証・認可する を参照してください。
auth.enabled
- フィールド:
scalar.db.analytics.server.auth.enabled - 説明: 認証と認可が有効かどうか。
- デフォルト値:
false
auth.initial_admin_username
- フィールド:
scalar.db.analytics.server.auth.initial_admin_username - 説明: SUPERADMIN ロールにまだ割り当て られているユーザーがいない場合に、SUPERADMIN ロールが割り当てられる初期管理ユーザーのユーザー名。
auth.password.backend
- フィールド:
scalar.db.analytics.server.auth.password.backend - 説明: 使用する認証バックエンド(
internalまたはscalardb-cluster)。 - デフォルト値:
internal
auth.password.token_ttl_seconds
- フィールド:
scalar.db.analytics.server.auth.password.token_ttl_seconds - 説明: アクセストークンの有効期間(秒)。
- デフォルト値:
86400(24時間)
auth.password.internal.initial_admin_password
- フィールド:
scalar.db.analytics.server.auth.password.internal.initial_admin_password - 説明: 管理ユーザーの初期パスワード。
auth.password.backendがinternalの場合にのみ使用されます。
auth.password.scalardb_cluster.host
- フィールド:
scalar.db.analytics.server.auth.password.scalardb_cluster.host - 説明: ScalarDB Cluster インスタンスのホスト名または IP アドレス。
auth.password.backendがscalardb-clusterの場合に必須。 - デフォルト値:
localhost
auth.password.scalardb_cluster.port
- フィールド:
scalar.db.analytics.server.auth.password.scalardb_cluster.port - 説明: ScalarDB Cluster インスタンスのポート番号。
auth.password.backendがscalardb-clusterの場合に必須。 - デフォルト値:
60053
auth.password.scalardb_cluster.deadline_millis
- フィールド:
scalar.db.analytics.server.auth.password.scalardb_cluster.deadline_millis - 説明: ScalarDB Cluster への認証リクエストの gRPC デッドライン(ミリ秒)。
- デフォルト値:
5000
auth.password.scalardb_cluster.acl_delegation
- フィールド:
scalar.db.analytics.server.auth.password.scalardb_cluster.acl_delegation - 説明: ScalarDB データソースのネームスペースレベルおよびテーブルレベルの認可を ScalarDB Cluster に委任するかどうか。詳細については、ScalarDB Analytics でユーザーを認証・認可する を参照してください。
- デフォルト値:
false
auth.password.scalardb_cluster.tls.enabled
- フィールド:
scalar.db.analytics.server.auth.password.scalardb_cluster.tls.enabled - 説明: ScalarDB Cluster への接続で TLS を有効にするかどうか。
- デフォルト値:
false
auth.password.scalardb_cluster.tls.ca_root_cert_path
- フィールド:
scalar.db.analytics.server.auth.password.scalardb_cluster.tls.ca_root_cert_path - 説明: ScalarDB Cluster サーバー証明書を検証するための CA ルート証明書ファイルへのパス。
auth.password.scalardb_cluster.tls.override_authority
- フィールド:
scalar.db.analytics.server.auth.password.scalardb_cluster.tls.override_authority - 説明: ScalarDB Cluster 接続の TLS 検証用のサーバー権限をオーバーライド。
メータリングストレージ設定
メータリングデータの ストレージを設定します。
metering.storage.provider
- フィールド:
scalar.db.analytics.server.metering.storage.provider - 説明: メータリングデータのストレージプロバイダー (
filesystem、aws-s3、azureblob、google-cloud-storage)。
metering.storage.containerName
- フィールド:
scalar.db.analytics.server.metering.storage.containerName - 説明: クラウドストレージ用のコンテナ/バケット名。
- デフォルト値:
metering
metering.storage.path
- フィールド:
scalar.db.analytics.server.metering.storage.path - 説明: ローカルディレクトリパス。プロバイダーが
filesystemの場合に必須。
metering.storage.accessKeyId
- フィールド:
scalar.db.analytics.server.metering.storage.accessKeyId - 説明: クラウドストレージプロバイダー用のアクセスキー ID。
aws-s3、azureblob、google-cloud-storageの場合に必須。
metering.storage.secretAccessKey
- フィールド:
scalar.db.analytics.server.metering.storage.secretAccessKey - 説明: クラウドストレージプロバイダー用のシークレットアクセスキー。
aws-s3、azureblob、google-cloud-storageの場合に必須。
metering.storage.prefix
- フィールド:
scalar.db.analytics.server.metering.storage.prefix - 説明: すべてのストレージパスのオプションのプレフィックス。
CLI クライアント設定
CLI クライアントは、ScalarDB Analytics サーバーと通信するための接続設定を Java プロパティファイル (例: client.properties) を使用して設定します。
設定プロパティ
このセクションでは、設定プロパティについて説明します。
サーバー接続設定
以下は、サーバーへの接続の設定の一覧です。
server.host
- フィールド:
scalar.db.analytics.client.server.host - 説明: ScalarDB Analytics サーバーのホスト名または IP アドレス。
server.catalog.port
- フィールド:
scalar.db.analytics.client.server.catalog.port - 説明: カタログサービスのポート番号。
- デフォルト値:
11051
server.metering.port
- フィールド:
scalar.db.analytics.client.server.metering.port - 説明: メータリングサービスのポート番号。
- デフォルト値:
11052
認証設定
以下は、認証の設定の一覧です。詳細については、ScalarDB Analytics でユーザーを認証・認可する を参照してください。
auth.username
- フィールド:
scalar.db.analytics.client.auth.username - 説明: ScalarDB Analytics サーバーでの認証用のユーザー名。
auth.password
- フィールド:
scalar.db.analytics.client.auth.password - 説明: ScalarDB Analytics サーバーでの認証用 のパスワード。
環境変数を使用して認証情報を設定することもできます。環境変数は設定ファイルプロパティよりも優先されます。
| 環境変数 | 説明 |
|---|---|
SCALAR_DB_ANALYTICS_CLIENT_AUTH_USERNAME | 認証用のユーザー名。 |
SCALAR_DB_ANALYTICS_CLIENT_AUTH_PASSWORD | 認証用のパスワード。 |
TLS 設定
以下は、TLSの設定の一覧です。
server.tls.enabled
- フィールド:
scalar.db.analytics.client.server.tls.enabled - 説明: サーバー接続の TLS/SSL を有効にする。
- デフォルト値:
false
server.tls.ca_root_cert_path
- フィールド:
scalar.db.analytics.client.server.tls.ca_root_cert_path - 説明: サーバー証明書を検証するための CA 証明書ファイルへのパス。
tls.enabledがtrueの場合に必須。
server.tls.override_authority
- フィールド:
scalar.db.analytics.client.server.tls.override_authority - 説明: TLS 検証のためのサーバー権限をオーバーライド (テストに便利)。
Spark 統合設定
Apache Spark で ScalarDB Analytics を使用するには、Spark 設定ファイル (spark-defaults.conf) に必要な設定を追加して Spark アプリケーションを設定します。
Spark Core 設定
以下は、Spark Core の設定の一覧です。
spark.jars.packages
- フィールド:
spark.jars.packages - 説明: ScalarDB Analytics 依存関係の Maven 座標。
spark.extraListeners
- フィールド:
spark.extraListeners - 説明: ScalarDB Analytics メータリングリスナーを登録。
カタログ設定
以下は、カタログの設定の一覧です。
spark.sql.catalog.<catalog-name>
- フィールド:
spark.sql.catalog.<catalog-name> - 説明: ScalarDB Analytics カタログ実装を登録。
<catalog-name>は ScalarDB Analytics サーバーで作成したカタログの正確な名前に置き換えてください。値としてcom.scalar.db.analytics.spark.ScalarDbAnalyticsCatalogを使用します。
<catalog-name> は CLI を使用して ScalarDB Analytics サーバーで作成したカタログ名と一致する必要があります。例えば、サーバーで production という名前のカタログを作成した場合は、spark.sql.catalog.production を使用してください。
サーバー接続設定
以下は、サーバー接続の設定の一覧です。
spark.sql.catalog.<catalog-name>.server.host
- フィールド:
spark.sql.catalog.<catalog-name>.server.host - 説明: ScalarDB Analytics サーバーのホスト名または IP ア ドレス。
spark.sql.catalog.<catalog-name>.server.catalog.port
- フィールド:
spark.sql.catalog.<catalog-name>.server.catalog.port - 説明: カタログサービスのポート番号。
- デフォルト値:
11051
spark.sql.catalog.<catalog-name>.server.metering.port
- フィールド:
spark.sql.catalog.<catalog-name>.server.metering.port - 説明: メータリングサービスのポート番号。
- デフォルト値:
11052
TLS/SSL 設定
以下は、TLS/SSL の設定の一覧です。
spark.sql.catalog.<catalog-name>.server.tls.enabled
- フィールド:
spark.sql.catalog.<catalog-name>.server.tls.enabled - 説明: サーバー接続の TLS/SSL を有効にする。
- デフォルト値:
false
spark.sql.catalog.<catalog-name>.server.tls.ca_root_cert_path
- フィールド:
spark.sql.catalog.<catalog-name>.server.tls.ca_root_cert_path - 説明: サーバー証明書を検証するための CA 証明書ファイルへのパス。
tls.enabledがtrueの場合に必須。
spark.sql.catalog.<catalog-name>.server.tls.override_authority
- フィールド:
spark.sql.catalog.<catalog-name>.server.tls.override_authority - 説明: TLS 検証のためのサーバー権限をオーバーライド。
<catalog-name> を選択したカタログ名 (例: analytics) に置き換えてください。
認証設定
以下は、認証が有効なサーバーに接続する際の認証設定の一覧です。詳細については、ScalarDB Analytics でユーザーを認証・認可する を参照してください。
spark.sql.catalog.<catalog-name>.server.auth.username
- フィールド:
spark.sql.catalog.<catalog-name>.server.auth.username - 説明: Spark アプリケーションを ScalarDB Analytics サーバーで認証するためのユーザー名。
spark.sql.catalog.<catalog-name>.server.auth.password
- フィールド:
spark.sql.catalog.<catalog-name>.server.auth.password - 説明: Spark アプリケーションを ScalarDB Analytics サーバーで認証するためのパスワード。
設定例
このセクションでは、いくつかの設定例を提供します。
基本的な開発設定
以下は、サーバー、CLI クライアント、および Spark の設定例です。
サーバー設定 (scalardb-analytics-server.properties)
# メタデータデータベース
scalar.db.analytics.server.db.contact_points=jdbc:postgresql://localhost:5432/scalardb_analytics
scalar.db.analytics.server.db.username=dev_user
scalar.db.analytics.server.db.password=dev_password
# ライセンス
scalar.db.analytics.server.licensing.license_key=YOUR_DEV_LICENSE_KEY
scalar.db.analytics.server.licensing.license_check_cert_path=/path/to/license_cert.pem
# メータリングストレージ (開発用に filesystem)
scalar.db.analytics.server.metering.storage.provider=filesystem
scalar.db.analytics.server.metering.storage.path=/tmp/scalardb-analytics-metering
CLI クライアント設定 (client.properties)
scalar.db.analytics.client.server.host=localhost
Spark 設定 (spark-defaults.conf)
spark.jars.packages com.scalar-labs:scalardb-analytics-spark-all-3.5_2.12:3.18.0
spark.extraListeners com.scalar.db.analytics.spark.metering.ScalarDbAnalyticsListener
spark.sql.catalog.analytics com.scalar.db.analytics.spark.ScalarDbAnalyticsCatalog
spark.sql.catalog.analytics.server.host localhost
認証を有効にした設定
以下は、認証と認可を有効にした設定の例です。
サーバー設定 (scalardb-analytics-server.properties)
# メタデータデータベース
scalar.db.analytics.server.db.contact_points=jdbc:postgresql://localhost:5432/scalardb_analytics
scalar.db.analytics.server.db.username=dev_user
scalar.db.analytics.server.db.password=dev_password
# 認証と認可
scalar.db.analytics.server.auth.enabled=true
scalar.db.analytics.server.auth.initial_admin_username=<YOUR_ADMIN_USERNAME>
scalar.db.analytics.server.auth.password.internal.initial_admin_password=<YOUR_ADMIN_PASSWORD>
# TLS(認証を有効にした場合は必須)
scalar.db.analytics.server.tls.enabled=true
scalar.db.analytics.server.tls.cert_chain_path=/path/to/server.crt
scalar.db.analytics.server.tls.private_key_path=/path/to/server.key
# ライセンス
scalar.db.analytics.server.licensing.license_key=YOUR_DEV_LICENSE_KEY
scalar.db.analytics.server.licensing.license_check_cert_path=/path/to/license_cert.pem
# メータリングストレージ(開発用に filesystem)
scalar.db.analytics.server.metering.storage.provider=filesystem
scalar.db.analytics.server.metering.storage.path=/tmp/scalardb-analytics-metering
CLI クライアント設定 (client.properties)
scalar.db.analytics.client.server.host=localhost
scalar.db.analytics.client.server.tls.enabled=true
scalar.db.analytics.client.server.tls.ca_root_cert_path=/path/to/ca.crt
scalar.db.analytics.client.auth.username=<YOUR_ADMIN_USERNAME>
scalar.db.analytics.client.auth.password=<YOUR_ADMIN_PASSWORD>
ScalarDB Cluster 認証バックエンドを使用した設定
以下は、ACL 委任を有効にした ScalarDB Cluster を認証バックエンドとして使用するサーバー設定の例です。
サーバー設定 (scalardb-analytics-server.properties)
# メタデータデータベース
scalar.db.analytics.server.db.contact_points=jdbc:postgresql://db.internal:5432/scalardb_analytics
scalar.db.analytics.server.db.username=analytics_user
scalar.db.analytics.server.db.password=your_secure_password
# 認証と認可
scalar.db.analytics.server.auth.enabled=true
scalar.db.analytics.server.auth.initial_admin_username=admin
scalar.db.analytics.server.auth.password.backend=scalardb-cluster
scalar.db.analytics.server.auth.password.scalardb_cluster.host=cluster.example.com
scalar.db.analytics.server.auth.password.scalardb_cluster.port=60053
scalar.db.analytics.server.auth.password.scalardb_cluster.acl_delegation=true
# TLS(認証を 有効にした場合は必須)
scalar.db.analytics.server.tls.enabled=true
scalar.db.analytics.server.tls.cert_chain_path=/path/to/server.crt
scalar.db.analytics.server.tls.private_key_path=/path/to/server.key
# ライセンス
scalar.db.analytics.server.licensing.license_key=YOUR_LICENSE_KEY
scalar.db.analytics.server.licensing.license_check_cert_path=/path/to/license_cert.pem
# メータリングストレージ
scalar.db.analytics.server.metering.storage.provider=filesystem
scalar.db.analytics.server.metering.storage.path=/tmp/scalardb-analytics-metering
TLS を使用した本番設定
以下は、本番環境での TLS、CLI クライアント、および Spark の設定例です。
サーバー設定 (scalardb-analytics-server.properties)
# メタデータデータベース
scalar.db.analytics.server.db.contact_points=jdbc:postgresql://db.internal:5432/scalardb_analytics_prod
scalar.db.analytics.server.db.username=analytics_prod
scalar.db.analytics.server.db.password=your_secure_password
# gRPC ポート
scalar.db.analytics.server.catalog.port=11051
scalar.db.analytics.server.metering.port=11052
# TLS
scalar.db.analytics.server.tls.enabled=true
scalar.db.analytics.server.tls.cert_chain_path=/path/to/server.crt
scalar.db.analytics.server.tls.private_key_path=/path/to/server.key
# ライセンス
scalar.db.analytics.server.licensing.license_key=YOUR_LICENSE_KEY
scalar.db.analytics.server.licensing.license_check_cert_pem=-----BEGIN CERTIFICATE-----\nMIID...certificate content...\n-----END CERTIFICATE-----
# メータリングストレージ (S3)
scalar.db.analytics.server.metering.storage.provider=aws-s3
scalar.db.analytics.server.metering.storage.containerName=analytics-metering
scalar.db.analytics.server.metering.storage.accessKeyId=AKIAIOSFODNN7EXAMPLE
scalar.db.analytics.server.metering.storage.secretAccessKey=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
scalar.db.analytics.server.metering.storage.prefix=prod/
CLI クライアント設定 (client.properties)
scalar.db.analytics.client.server.host=analytics.example.com
scalar.db.analytics.client.server.tls.enabled=true
scalar.db.analytics.client.server.tls.ca_root_cert_path=/path/to/cert.pem
Spark 設定 (spark-defaults.conf)
spark.jars.packages com.scalar-labs:scalardb-analytics-spark-all-3.5_2.12:3.18.0
spark.extraListeners com.scalar.db.analytics.spark.metering.ScalarDbAnalyticsListener
spark.sql.catalog.analytics com.scalar.db.analytics.spark.ScalarDbAnalyticsCatalog
spark.sql.catalog.analytics.server.host analytics.example.com
spark.sql.catalog.analytics.server.tls.enabled true
spark.sql.catalog.analytics.server.tls.ca_root_cert_path /path/to/cert.pem
次のステップ
- ScalarDB Analytics でユーザーを認証・認可する - 認証と認可の設定
- ScalarDB Analytics カタログの作成 - カタログの作成とデータソースの追加方法を学ぶ
- ScalarDB Analytics を通じた分析クエリの実行 - 設定でクエリの実行を開始
- パブリッククラウド環境への ScalarDB Analytics のデプロイ - 本番環境での ScalarDB Analytics のデプロイ