メインコンテンツまでスキップ

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.confcn.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;