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