1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/vipshop-vdl

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
leader_transfer.md 2.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 08:47 1556aaf

Инструкция по операции Leader Transfer

1. Введение

Функция Leader Transfer позволяет вручную перенести узел Leader кластера на другой узел кластера.

2. Описание операции

Для использования Leader Transfer необходимо чётко определить, на какой узел Follower (далее — получатель) нужно перенести новый Leader. Для этого необходимо получить соответствующий ID.

Чтобы просмотреть состояние кластера и получить соответствующие ID, можно использовать команду member list в vdlctl. Например:

./vdlctl member list logstream1 --endpoints=http://localhost:9000

Вывод:

ID: 4eff15a7b59548ca, Name: vdl1, PeerAddrs: http://127.0.0.1:2381, IsLeader: false
ID: 5677ac1a2fa9eed9, Name: vdl2, PeerAddrs: http://127.0.0.1:2382, IsLeader: false
ID: e8a2d2fe302cd27b, Name: vdl0, PeerAddrs: http://127.0.0.1:2380, IsLeader: true

Из вывода команды member list видно, что текущим лидером кластера является vdl0. Предположим, что теперь необходимо перенести лидера на vdl2. Можно выполнить следующую команду:

./vdlctl logstream leader_transfer logstream1 5677ac1a2fa9eed9 --endpoints=http://localhost:9000

Здесь 5677ac1a2fa9eed9 — это ID vdl2. Параметр endpoints указывает на текущий лидерный узел.

Команда Leader Transfer не гарантирует успешное выполнение переноса лидера, так как результат зависит от разницы данных между получателем и старым лидером.

Результат выполнения команды:

# Если перенос лидера выполнен успешно, выводится сообщение:
logstream1 leader transfer success!

# В случае неудачи выводится сообщение об ошибке, обычно это «исключение превышения срока ожидания»:
Error:  rpc error: code = DeadlineExceeded desc = context deadline exceeded

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/vipshop-vdl.git
git@api.gitlife.ru:oschina-mirror/vipshop-vdl.git
oschina-mirror
vipshop-vdl
vipshop-vdl
master