API создания фолловера
Создаёт индекс-фолловера.
Запрос
PUT /<follower_index>/_ccr/follow?wait_for_active_shards=1
{
"remote_cluster" : "<remote_cluster>",
"leader_index" : "<leader_index>"
} Предварительные условия
- Если включены функции безопасности Elasticsearch, у вас должны быть
write,monitor, иmanage_follow_indexправа на доступ к индексу-фолловеру. У вас также должны бытьreadиmonitorправа на доступ к индексу-лидеру. Вам также необходимоmanage_ccrправо доступа к кластеру, содержащему индекс-фолловера. Дополнительная информация представлена в разделе Права доступа к безопасности.
Описание
Этот API создаёт новый индекс-фолловера, настроенный для следования за указанным индексом-лидером. После успешного выполнения этого API, индекс-фолловера будет создан, и кросс-кластерная репликация начнёт копировать операции из индекса-лидера в индекс-фолловера.
Параметры пути
-
<follower_index> - (Обязательно, строка) Имя индекса-фолловера.
Параметры запроса
-
wait_for_active_shards - (Необязательно, целое число) Указывает количество фрагментов, которое необходимо дождаться, прежде чем вернуть ответ. По умолчанию ожидается, что ни один из фрагментов не будет активным. Фрагмент должен быть восстановлен из индекса-лидера перед тем, как стать активным. Восстановление фрагмента-фолловера требует передачи всех удалённых сегментов Lucene в индекс-фолловера.
Тело запроса
-
leader_index - (Обязательно, строка) Имя индекса в кластере-лидере, за которым следует следить.
-
remote_cluster - (Обязательно, строка) Удаленный кластер, содержащий индекс-лидера.
-
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"
}
}
]
} Примеры
В этом примере создаётся индекс-фолловера под именем follower_index:
PUT /follower_index/_ccr/follow?wait_for_active_shards=1
{
"remote_cluster" : "remote_cluster",
"leader_index" : "leader_index",
"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 возвращает следующий результат:
{
"follow_index_created" : true,
"follow_index_shards_acked" : true,
"index_following_started" : 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/7.17/ccr-put-follow.html