shared-data StarRocks with Azure Blob Storage
共有データのためにAzure Blob Storageを使用する
\import SharedDataIntro from '../../assets/commonMarkdown/sharedDataIntro.md' \import SharedDataCNconf from '../../assets/commonMarkdown/sharedDataCNconf.md' \import SharedDataUseIntro from '../../assets/commonMarkdown/sharedDataUseIntro.md' \import SharedDataUse from '../../assets/commonMarkdown/sharedDataUse.md'
アーキテクチャ
共有データのStarRocksクラスタをデプロイする
共有データのStarRocksクラスタのデプロイは、共有しないStarRocksクラスタのデプロイと似ています。唯一の違いは、共有データクラスタではBEではなくCNをデプロイする必要があることです。このセクションでは、StarRocksクラスタをデプロイする際に、FEとCNのfe.confとcn.confの設定ファイルに追加する必要のある追加のFEおよびCN構成項目をリストアップしています。StarRocksクラスタをデプロイする詳しい手順については、「StarRocksのデプロイ」を参照してください。(../../deployment/deploy_manually.md).
注意
このドキュメントの次のセクションで共有ストレージに設定するまで、クラスタを開始しないでください。
共有データのStarRocksのFEノードを構成する
クラスタを起動する前に、FEとCNを構成します。以下に例となる構成を提供し、その後、各パラメータの詳細を説明します。
Azure Blob StorageのためのFE構成の例
共有データに関する例の追加設定は、各FEノードのfe.conf
ファイルに追加することができます。
run_mode = shared_data
cloud_native_meta_port = <meta_port>
cloud_native_storage_type = AZBLOB
# 例:testcontainer/subpath
azure_blob_path = <blob_path>
# 例:https://test.blob.core.windows.net
azure_blob_endpoint = <endpoint_url>
azure_blob_shared_key = <shared_key>
- Azure Blob Storageへのアクセスに共有アクセス署名(SAS)を使用する場合、以下の設定を追加します。
run_mode = shared_data
cloud_native_meta_port = <meta_port>
cloud_native_storage_type = AZBLOB
# 例:testcontainer/subpath
azure_blob_path = <blob_path>
# 例:https://test.blob.core.windows.net
azure_blob_endpoint = <endpoint_url>
azure_blob_sas_token = <sas_token>
注意
Azure Blob Storageアカウントを作成する際に、階層型名前空間は無効にする必要があります。
Azure Blob Storageと共有ストレージ関連の全てのFEパラメータ
run_mode
StarRocksクラスタの実行モード。有効な値:
shared_data
shared_nothing
(デフォルト)
注意
StarRocksクラスタでは、
shared_data
モードとshared_nothing
モードを同時に使用することはできません。混在デプロイはサポートされていません。クラスタがデプロイされた後に
run_mode
を変更しないでください。そうしないと、クラスタの再起動に失敗します。shared_nothing
クラスタからshared_data
クラスタまたは逆に変換することはサポートされていません。
cloud_native_meta_port
クラウドネイティブメタサービスのRPCポート。
- デフォルト:
6090
enable_load_volume_from_conf
StarRocksがFE設定ファイルに指定されたオブジェクトストレージ関連のプロパティを使用してデフォルトのストレージボリュームを作成できるかどうか。有効な値:
true
(デフォルト):新し い共有データクラスタを作成する際にこの項目をtrue
と指定すると、StarRocksはFE設定ファイルのオブジェクトストレージ関連のプロパティを使用して、ビルトインストレージボリュームbuiltin_storage_volume
を作成し、デフォルトのストレージボリュームとして設定します。ただし、オブジェクトストレージ関連のプロパティを指定していない場合は、StarRocksは起動に失敗します。false
:新しい共有データクラスタを作成する際にこの項目をfalse
と指定すると、StarRocksはビルトインストレージボリュームを作成せずに直接起動します。StarRocks内でオブジェクトを作成する前に、ストレージボリュームを手動で作成し、デフォルトのストレージボリュームとして設定する必要があります。詳細については、「デフォルトのストレージボリュームを作成する」を参照してください。
v3.1.0以降でサポートされています。
注意
既存のv3.0からの共有データクラスタをアップグレードする場合、アップグレード前にこの項目を
true
のままにすることを強くお勧めします。この項目をfalse
と指定した場合、アップグレード前に作成したデータベースとテーブルは読み取り専用となり、データをロードすることはできません。
cloud_native_storage_type
使用するオブジェクトストレージのタイプ。共有データモードでは、StarRocksはAzure Blob(v3.1.1以降でサポート)およびS3プロトコル(AWS S3、Google GCP、MinIOなどと互換性のあるオブジェクトストレージ)にデータを保存することができます。有効な値:
S3
(デフォルト)AZBLOB
注意
このパラメータを
S3
と指定する場合、aws_s3
で始まるパラメータを追加する必要があります。このパラメータを
AZBLOB
と指定する場合、azure_blob
で始まるパラメータを追加する必要があります。
azure_blob_path
データを保存するために使用するAzure Blob Storageのパスです。ストレージアカウント内のコンテナの名前と、コンテナ内のサブパス(存在する場合)で構成されます。例:testcontainer/subpath
azure_blob_endpoint
Azure Blob Storageアカウントのエンドポイントです。例:https://test.blob.core.windows.net
azure_blob_shared_key
Azure Blob Storageへのリクエストを承認するために使用される共有キーです。
azure_blob_sas_token
Azure Blob Storageへのリクエストを承認するために使用される共有アクセス署名(SAS)です。
注意
共有データのStarRocksクラスタが作成された後は、認証関連の設定項目しか変更できません。元のストレージパス関連の設定項目を変更した場合、変更前に作成したデータベースとテーブルは読み取り専用となり、データをロードすることができません。
クラスタが作成された後にデフォルトのストレージボリュームを手動で作成する場合、以下の設定項目のみを追加する必要があります。
run_mode = shared_data
cloud_native_meta_port = <meta_port>
enable_load_volume_from_conf = false
共有データのStarRocksのCNノードを構成する
共有データのStarRocksクラスタの使用方法
次の例では、Azure Blob Storageバケット「defaultbucket」のストレージボリューム「def_volume」を作成し、共有キーアクセスを有効にし、デフォルトのストレージボリュームとして設定しています。
CREATE STORAGE VOLUME def_volume
TYPE = AZBLOB
LOCATIONS = ("azblob://defaultbucket/test/")
PROPERTIES
(
"enabled" = "true",
"azure.blob.endpoint" = "<endpoint_url>",
"azure.blob.shared_key" = "<shared_key>"
);
SET def_volume AS DEFAULT STORAGE VOLUME;