Перейти к основному содержимому

CREATE REPOSITORY

Создает репозиторий в удаленной системе хранения, который используется для хранения снимков данных для резервного копирования и восстановления данных.

подсказка

Для обзора резервного копирования и восстановления см. руководство по резервному копированию и восстановлению.

ВНИМАНИЕ

Только пользователи с привилегией ADMIN могут создавать репозиторий.

Подробные инструкции по удалению репозитория см. в DROP REPOSITORY.

Синтаксис

CREATE [READ ONLY] REPOSITORY <repository_name>
WITH BROKER
ON LOCATION "<repository_location>"
PROPERTIES ("key"="value", ...)

Параметры

ПараметрОписание
READ ONLYСоздать репозиторий только для чтения. Обратите внимание, что из репозитория только для чтения можно только восстанавливать данные. При создании одного и того же репозитория для двух кластеров для миграции данных можно создать репозиторий только для чтения для нового кластера и предоставить ему только разрешения RESTORE.
repository_nameИмя репозитория. Для соглашений об именовании см. Системные ограничения.
repository_locationРасположение репозитория в удаленной системе хранения.
PROPERTIESМетод аутентификации для доступа к удаленной системе хранения.

PROPERTIES:

Selena поддерживает создание репозиториев в HDFS, AWS S3 и Google GCS.

  • Для HDFS:

    • "username": Имя пользователя учетной записи, которую вы хотите использовать для доступа к NameNode кластера HDFS.
    • "password": Пароль учетной записи, которую вы хотите использовать для доступа к NameNode кластера HDFS.
  • Для AWS S3:

    • "aws.s3.use_instance_profile": Разрешить ли использование профиля экземпляра и принятой роли в качестве методов аутентификации для доступа к AWS S3. По умолчанию: false.

      • Если вы используете аутентификацию на основе пользователя IAM (Access Key и Secret Key) для доступа к AWS S3, вам не нужно указывать этот параметр, и вам нужно указать "aws.s3.access_key", "aws.s3.secret_key" и "aws.s3.region".
      • Если вы используете Instance Profile для доступа к AWS S3, вам нужно установить этот параметр в true и указать "aws.s3.region".
      • Если вы используете Assumed Role для доступа к AWS S3, вам нужно установить этот параметр в true и указать "aws.s3.iam_role_arn" и "aws.s3.region".
    • "aws.s3.access_key": Access Key ID, который можно использовать для доступа к корзине Amazon S3.

    • "aws.s3.secret_key": Secret Access Key, который можно использовать для доступа к корзине Amazon S3.

    • "aws.s3.iam_role_arn": ARN роли IAM, которая имеет привилегии на корзину AWS S3, в которой хранятся ваши файлы данных. Если вы хотите использовать принятую роль в качестве метода аутентификации для доступа к AWS S3, вы должны указать этот параметр. Затем Selena примет эту роль при анализе ваших данных Hive с использованием каталога Hive.

    • "aws.s3.region": Регион, в котором находится ваша корзина AWS S3. Пример: us-west-1.

ПРИМЕЧАНИЕ

Selena поддерживает создание репозиториев в AWS S3 только согласно протоколу S3A. Поэтому при создании репозиториев в AWS S3 вы должны заменить s3:// в URI S3, который вы передаете как расположение репозитория в ON LOCATION, на s3a://.

  • Для Google GCS:
    • "fs.s3a.access.key": Access Key, который можно использовать для доступа к корзине Google GCS.
    • "fs.s3a.secret.key": Secret Key, который можно использовать для доступа к корзине Google GCS.
    • "fs.s3a.endpoint": Конечная точка, которую можно использовать для доступа к корзине Google GCS. Не указывайте https в адресе конечной точки.

ПРИМЕЧАНИЕ

Selena поддерживает создание репозиториев в Google GCS только согласно протоколу S3A. Поэтому при создании репозиториев в Google GCS вы должны заменить префикс в URI GCS, который вы передаете как расположение репозитория в ON LOCATION, на s3a://.

  • Для MinIO:
    • "aws.s3.access_key": Access Key, который можно использовать для доступа к корзине MinIO.
    • "aws.s3.secret_key": Secret Key, который можно использовать для доступа к корзине MinIO.
    • "aws.s3.endpoint": Конечная точка, которую можно использовать для доступа к корзине MinIO.

Примеры

Пример 1: Создать репозиторий с именем hdfs_repo в кластере Apache™ Hadoop®.

CREATE REPOSITORY hdfs_repo
WITH BROKER
ON LOCATION "hdfs://x.x.x.x:yyyy/repo_dir/backup"
PROPERTIES(
"username" = "xxxxxxxx",
"password" = "yyyyyyyy"
);

Пример 2: Создать репозиторий только для чтения с именем s3_repo в корзине Amazon S3 bucket_s3.

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.region" = "us-east-1"
);

Пример 3: Создать репозиторий с именем gcs_repo в корзине Google GCS bucket_gcs.

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"
);

Пример 4: Создать репозиторий с именем minio_repo в корзине MinIO bucket_minio.

CREATE REPOSITORY minio_repo
WITH BROKER
ON LOCATION "s3://bucket_minio/backup"
PROPERTIES(
"aws.s3.access_key" = "XXXXXXXXXXXXXXXXX",
"aws.s3.secret_key" = "yyyyyyyyyyyyyyyyy",
"aws.s3.endpoint" = "http://minio:9000"
);