API создания шаблона автоматического следования
Создает шаблон кросс-кластерной репликации автоматического следования.
Запрос
resp = client.ccr.put_auto_follow_pattern(
name="<auto_follow_pattern_name>",
remote_cluster="<remote_cluster>",
leader_index_patterns=[
"<leader_index_pattern>"
],
leader_index_exclusion_patterns=[
"<leader_index_exclusion_pattern>"
],
follow_index_pattern="<follow_index_pattern>",
)
print(resp) const response = await client.ccr.putAutoFollowPattern({
name: "<auto_follow_pattern_name>",
remote_cluster: "<remote_cluster>",
leader_index_patterns: ["<leader_index_pattern>"],
leader_index_exclusion_patterns: ["<leader_index_exclusion_pattern>"],
follow_index_pattern: "<follow_index_pattern>",
});
console.log(response); PUT /_ccr/auto_follow/<auto_follow_pattern_name>
{
"remote_cluster" : "<remote_cluster>",
"leader_index_patterns" :
[
"<leader_index_pattern>"
],
"leader_index_exclusion_patterns":
[
"<leader_index_exclusion_pattern>"
],
"follow_index_pattern" : "<follow_index_pattern>"
} Предварительные условия
- Если включены функции безопасности Elasticsearch, необходимо иметь
readиmonitorправа индекса для шаблонов лидера индекса. Также необходимо иметь праваmanage_ccrкластера на кластере, содержащем индекс фолловера. Дополнительную информацию см. в разделе Права доступа в системе безопасности.
Описание
Этот API создает новую именованную коллекцию шаблонов автоматического следования к удалённому кластеру, указанному в теле запроса. Новые индексы на удалённом кластере, соответствующие любому из указанных шаблонов, будут автоматически настроены как индексы фолловера. Индексы на удалённом кластере, созданные до создания шаблона автоматического следования, не будут следовать автоматически, даже если они соответствуют шаблону.
Этот API также может использоваться для обновления существующих шаблонов автоматического следования. Обратите внимание, что индексы фолловера, которые были автоматически настроены до обновления шаблона автоматического следования, останутся неизменными, даже если они не соответствуют новым шаблонам.
Параметры пути
-
<auto_follow_pattern_name> - (Обязательно, строка) Имя коллекции шаблонов автоматического следования.
Параметры запроса
-
master_timeout - (Необязательно, единицы измерения времени) Период ожидания узла-мастера. Если узел-мастер недоступен до истечения таймаута, запрос завершается неудачей и возвращает ошибку. По умолчанию
30s. Также может быть установлен на-1, чтобы указать, что запрос никогда не должен вызывать таймаут.
Тело запроса
-
remote_cluster - (Обязательно, строка) Удаленный кластер, содержащий индексы лидера для сопоставления.
-
leader_index_patterns - (Необязательно, массив) Массив простых шаблонов индексов для сопоставления с индексами на удалённом кластере, указанном в поле
remote_cluster. -
leader_index_exclusion_patterns - (Необязательно, массив) Массив простых шаблонов индексов, которые могут быть использованы для исключения индексов из автоматического следования. Индексы на удалённом кластере, имена которых соответствуют одному или нескольким
leader_index_patternsи одному или несколькимleader_index_exclusion_patterns, не будут отслеживаться. -
follow_index_pattern - (Необязательно, строка) Имя индекса фолловера. Шаблон
{{leader_index}}может быть использован для получения имени индекса фолловера из имени индекса лидера. При слежении за потоком данных,follow_index_patternбудет использоваться для переименования не только индекса лидера, но и потока данных, содержащего индекс лидера. Например, поток данных, называемыйlogs-mysql-default, с базовым индексом.ds-logs-mysql-default-2022-01-01-000001иfollow_index_pattern{{leader_index}}_copyбудет реплицировать поток данных какlogs-mysql-default_copy, а базовый индекс как.ds-logs-mysql-default_copy-2022-01-01-000001. -
settings - (объект) Параметры для переопределения из индекса лидера. Обратите внимание, что некоторые параметры не могут быть переопределены (например,
index.number_of_shards).
-
max_read_request_operation_count - (целое число) Максимальное количество операций для извлечения за один чтение с удалённого кластера.
-
max_outstanding_read_requests - (длинное целое число) Максимальное количество ожидающих запросов чтения с удалённого кластера.
-
max_read_request_size - (значение в байтах) Максимальный размер в байтах для каждого чтения пакета операций, извлечённых с удалённого кластера.
-
max_write_request_operation_count - (целое число) Максимальное количество операций на запрос пакетной записи, выполняемый на фолловере.
-
max_write_request_size - (значение в байтах) Максимальное общее количество байтов операций на запрос пакетной записи, выполняемый на фолловере.
-
max_outstanding_write_requests - (целое число) Максимальное количество ожидающих запросов записи на фолловере.
-
max_write_buffer_count - (целое число) Максимальное количество операций, которые могут быть помещены в очередь для записи. Когда этот предел достигнут, чтение с удалённого кластера будет отложено, пока количество операций в очереди не станет ниже предела.
-
max_write_buffer_size - (значение в байтах) Максимальное общее количество байтов операций, которые могут быть помещены в очередь для записи. Когда этот предел достигнут, чтение с удалённого кластера будет отложено, пока общее количество байтов операций в очереди не станет ниже предела.
-
max_retry_delay - (значение времени) Максимальное время ожидания, прежде чем повторить операцию, которая завершилась исключением. Используется экспоненциальная стратегия отложенного запуска при повторе.
-
read_poll_timeout - (значение времени) Максимальное время ожидания новых операций на удалённом кластере, когда индекс фолловера синхронизирован с индексом лидера. После истечения таймаута, запрос на операции будет возвращён фолловеру для обновления некоторых статистических данных. Затем фолловер немедленно попытается снова прочитать данные с лидера.
Значения по умолчанию
Следующий вывод из API информации о слежении описывает все значения по умолчанию для описанных выше параметров запроса слежения индекса:
{
"follower_indices" : [
{
"parameters" : {
"max_read_request_operation_count" : 5120,
"max_read_request_size" : "32mb",
"max_outstanding_read_requests" : 12,
"max_write_request_operation_count" : 5120,
"max_write_request_size" : "9223372036854775807b",
"max_outstanding_write_requests" : 9,
"max_write_buffer_count" : 2147483647,
"max_write_buffer_size" : "512mb",
"max_retry_delay" : "500ms",
"read_poll_timeout" : "1m"
}
}
]
} Примеры
В этом примере создается шаблон автоматического следования с именем my_auto_follow_pattern:
resp = client.ccr.put_auto_follow_pattern(
name="my_auto_follow_pattern",
remote_cluster="remote_cluster",
leader_index_patterns=[
"leader_index*"
],
follow_index_pattern="{{leader_index}}-follower",
settings={
"index.number_of_replicas": 0
},
max_read_request_operation_count=1024,
max_outstanding_read_requests=16,
max_read_request_size="1024k",
max_write_request_operation_count=32768,
max_write_request_size="16k",
max_outstanding_write_requests=8,
max_write_buffer_count=512,
max_write_buffer_size="512k",
max_retry_delay="10s",
read_poll_timeout="30s",
)
print(resp) const response = await client.ccr.putAutoFollowPattern({
name: "my_auto_follow_pattern",
remote_cluster: "remote_cluster",
leader_index_patterns: ["leader_index*"],
follow_index_pattern: "{{leader_index}}-follower",
settings: {
"index.number_of_replicas": 0,
},
max_read_request_operation_count: 1024,
max_outstanding_read_requests: 16,
max_read_request_size: "1024k",
max_write_request_operation_count: 32768,
max_write_request_size: "16k",
max_outstanding_write_requests: 8,
max_write_buffer_count: 512,
max_write_buffer_size: "512k",
max_retry_delay: "10s",
read_poll_timeout: "30s",
});
console.log(response); PUT /_ccr/auto_follow/my_auto_follow_pattern
{
"remote_cluster" : "remote_cluster",
"leader_index_patterns" :
[
"leader_index*"
],
"follow_index_pattern" : "{{leader_index}}-follower",
"settings": {
"index.number_of_replicas": 0
},
"max_read_request_operation_count" : 1024,
"max_outstanding_read_requests" : 16,
"max_read_request_size" : "1024k",
"max_write_request_operation_count" : 32768,
"max_write_request_size" : "16k",
"max_outstanding_write_requests" : 8,
"max_write_buffer_count" : 512,
"max_write_buffer_size" : "512k",
"max_retry_delay" : "10s",
"read_poll_timeout" : "30s"
} API возвращает следующий результат:
{
"acknowledged" : true
}
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/ccr-put-auto-follow-pattern.html