CREATE REPOSITORY
説明
データのバックアップと復元のためにデータスナップショットを保存するリモートストレージシステムにリポジトリを作成します。
注意
ADMIN権限を持つユーザーのみがリポジトリを作成できます。
リポジトリの削除に関する詳細な手順については、DROP REPOSITORYを参照してください。
構文
CREATE [READ ONLY] REPOSITORY <repository_name>
WITH BROKER
ON LOCATION "<repository_location>"
PROPERTIES ("key"="value", ...)
パラメータ
パラメータ | 説明 |
---|---|
READ ONLY | 読み取り専用のリポジトリを作成します。読み取り専用のリポジトリからのみデータを復元できます。データを移行するために2つのクラスターで同じリポジトリを作成する場合、新しいクラスターに対して読み取り専用のリポジトリを作成し、RESTORE権限のみを付与できます。 |
repository_name | リポジトリ名。 |
repository_location | リモートストレージシステム内のリポジトリの場所。 |
PROPERTIES | リモートストレージシステムにアクセスするための認証方法。 |
PROPERTIES:
StarRocksは、HDFS、AWS S3、およびGoogle GCSでのリポジトリの作成をサポートしています。
-
HDFSの場合:
- "username": HDFSクラスターのNameNodeにアクセスするために使用するアカウントのユーザー名。
- "password": HDFSクラスターのNameNodeにアクセスするために使用するアカウントのパスワード。
-
AWS S3の場合:
-
"aws.s3.use_instance_profile": AWS S3にアクセスするための認証方法としてインスタンスプロファイルとアサインされたロールを許可するかどうか。デフォルト:
false
。- IAMユーザーに基づく認証(アクセスキーとシークレットキー)を使用してAWS S3にアクセスする場合、このパラメータを指定する必要はなく、"aws.s3.access_key"、"aws.s3.secret_key"、および"aws.s3.endpoint"を指定する必要があります。
- インスタンスプロファイルを使用してAWS S3にアクセスする場合、このパラメータを
true
に設定し、"aws.s3.region"を指定する必要があります。 - アサインされたロールを使用してAWS S3にアクセスする場合、このパラメータを
true
に設定し、"aws.s3.iam_role_arn"と"aws.s3.region"を指定する必要があります。
-
"aws.s3.access_key": Amazon S3バケットにアクセスするために使用できるアクセスキーID。
-
"aws.s3.secret_key": Amazon S3バケットにアクセスするために使用できるシークレットアクセスキー。
-
"aws.s3.endpoint": Amazon S3バケットにアクセスするために使用できるエンドポイント。
-
"aws.s3.iam_role_arn": データファイルが保存されているAWS S3バケットに対する権限を持つIAMロールのARN。AWS S3にアクセスするための認証方法としてアサインされたロールを使用する場合、このパラメータを指定する必要があります。その後、StarRocksはHive catalogを使用してHiveデータを分析する際にこのロールをアサインします。
-
"aws.s3.region": AWS S3バケットが存在するリージョン。例:
us-west-1
。
-
注意
StarRocksは、AWS S3でのリポジトリ作成をS3Aプロトコルにのみ対応しています。そのため、AWS S3でリポジトリを作成する際には、リポジトリの場所として渡すS3 URIの
s3://
をs3a://
に置き換える必要があります。
- Google GCSの場合:
- "fs.s3a.access.key": Google GCSバケットにアクセスするために使用できるアクセスキー。
- "fs.s3a.secret.key": Google GCSバケットにアクセスするために使用できるシークレットキー。
- "fs.s3a.endpoint": Google GCSバケットにアクセスするために使用できるエンドポイント。エンドポイントアドレスに
https
を指定しないでください。
注意
StarRocksは、Google GCSでのリポジトリ作成をS3Aプロトコルにのみ対応しています。そのため、Google GCSでリポジトリを作成する際には、リポジトリの場所として渡すGCS URIのプレフィックスを
s3a://
に置き換える必要があります。
例
例1: Apache™ Hadoop®クラスターにhdfs_repo
という名前のリポジトリを作成します。
CREATE REPOSITORY hdfs_repo
WITH BROKER
ON LOCATION "hdfs://x.x.x.x:yyyy/repo_dir/backup"
PROPERTIES(
"username" = "xxxxxxxx",
"password" = "yyyyyyyy"
);
例2: Amazon S3バケットbucket_s3
にread-only
リポジトリs3_repo
を作成します。
CREATE READ ONLY REPOSITORY s3_repo
WITH BROKER
ON LOCATION "s3a://bucket_s3/backup"
PROPERTIES(
"aws.s3.access_key" = "XXXXXXXXXXXXXXXXX",
"aws.s3.secret_key" = "yyyyyyyyyyyyyyyyy",
"aws.s3.endpoint" = "s3.us-east-1.amazonaws.com"
);
例3: Google GCSバケットbucket_gcs
にgcs_repo
という名前のリポジトリを作成します。
CREATE REPOSITORY gcs_repo
WITH BROKER
ON LOCATION "s3a://bucket_gcs/backup"
PROPERTIES(
"fs.s3a.access.key" = "xxxxxxxxxxxxxxxxxxxx",
"fs.s3a.secret.key" = "yyyyyyyyyyyyyyyyyyyy",
"fs.s3a.endpoint" = "storage.googleapis.com"
);