Включение доступа по FQDN
В этой теме описывается, как включить доступ к кластеру с использованием полного доменного имени (FQDN). FQDN — это полное доменное имя для конкретной сущности, к которой можно получить доступ через Интернет. FQDN состоит из двух частей: имени хоста и доменного имени.
До версии 2.4 Selena поддерживала доступ к FE и BE только через IP-адреса. Даже если FQDN использовался для добавления узла в кластер, он в конечном итоге преобразовывался в IP-адрес. Это создавало огромные неудобства для администраторов баз данных, поскольку изменение IP-адресов определенных узлов в кластере Selena могло привести к сбоям доступа к узлам. В версии 2.4 Selena отделяет каждый узел от его IP-адреса. Теперь вы можете управлять узлами в Selena исключительно через их FQDN.
Предварительные требования
Чтобы включить доступ по FQDN для кластера Selena, убедитесь, что выполнены следующие требования:
-
Каждая машина в кластере должна иметь имя хоста.
-
В файле /etc/hosts на каждой машине необходимо указать соответствующие IP-адреса и FQDN других машин в кластере.
-
IP-адреса в файле /etc/hosts должны быть уникальными.
Настройка нового кластера с доступом по FQDN
По умолчанию узлы FE в новом кластере запускаются через доступ по IP-адресу. Чтобы запустить новый кластер с доступом по FQDN, необходимо запустить узлы FE, выполнив следующие команды при первом запуске кластера:
./bin/start_fe.sh --host_type FQDN --daemon
Свойство --host_type указывает метод доступа, который используется для запуска узла. Допустимые значения включают FQDN и IP. Это свойство нужно указать только ОДИН РАЗ при первом запуске узла.
Каждый узел BE идентифицирует себя с помощью BE Address, определ енного в метаданных FE. Поэтому вам НЕ нужно указывать --host_type при запуске узлов BE. Если BE Address определяет узел BE с FQDN, узел BE идентифицирует себя с этим FQDN.
Включение доступа по FQDN в существующем кластере
Чтобы включить доступ по FQDN в существующем кластере, который ранее был запущен через IP-адреса, необходимо сначала обновить Selena до версии 2.4.0 или более поздней.
Включение доступа по FQDN для узлов FE
Необходимо включить доступ по FQDN для всех не-Leader Follower FE узлов перед включением этого для Leader FE узла.
ВНИМАНИЕ
Убедитесь, что в кластере есть как минимум три Follower FE узла, прежде чем включать доступ по FQDN для узлов FE.
Включение доступа по FQDN для не-Leader Follower FE узлов
-
Перейдите в каталог развертывания узла FE и выполните следующую команду для остановки узла FE:
./bin/stop_fe.sh -
Выполните следующий запрос через ваш MySQL клиент, чтобы проверить статус
Aliveостановленного узла FE. Дождитесь, пока статусAliveстанетfalse.SHOW PROC '/frontends'\G -
Выполните следующий запрос, чтобы заменить IP-адрес на FQDN.
ALTER SYSTEM MODIFY FRONTEND HOST "<fe_ip>" TO "<fe_hostname>"; -
Выполните следующую команду для запуска узла FE с доступом по FQDN.
./bin/start_fe.sh --host_type FQDN --daemonСвойство
--host_typeуказывает метод доступа, который используется для запуска узла. Допустимые значения включаютFQDNиIP. Это свойство нужно указать только ОДИН РАЗ при перезапуске узла после его модификации. -
Проверьте статус
Aliveузла FE. Дождитесь, пока статусAliveстанетtrue.SHOW PROC '/frontends'\G -
Повторите вышеуказанные шаги для включения доступа по FQDN для других не-Leader Follower FE узлов один за другим, когда статус
Aliveтекущего узла FE станетtrue.
Включение доступа по FQDN для Leader FE узла
После того как все не-Leader FE узлы были успешно модифицированы и перезапущены, теперь можно включить доступ по FQDN для Leader FE узла.
ПРИМЕЧАНИЕ
До того как Leader FE узел будет включен с доступом по FQDN, FQDN, используемые для добавления узлов в кластер, все еще преобразуются в соответствующие IP-адреса. После того как Leader FE узел с включенным доступом по FQDN будет выбран для кластера, FQDN не будут преобразовываться в IP-адреса.
-
Перейдите в каталог развертывания Leader FE узла и выполните следующую команду для остановки Leader FE узла.
./bin/stop_fe.sh -
Выполните следующий запрос через в аш MySQL клиент, чтобы проверить, был ли выбран новый Leader FE узел для кластера.
SHOW PROC '/frontends'\GЛюбой узел FE со статусом
AliveиisMasterравнымtrueявляется работающим Leader FE. -
Выполните следующий запрос, чтобы заменить IP-адрес на FQDN.
ALTER SYSTEM MODIFY FRONTEND HOST "<fe_ip>" TO "<fe_hostname>"; -
Выполните следующую команду для запуска узла FE с доступом по FQDN.
./bin/start_fe.sh --host_type FQDN --daemonСвойство
--host_typeуказывает метод доступа, который используется для запуска узла. Допустимые значения включаютFQDNиIP. Это свойство нужно указать только ОДИН РАЗ при перезапуске узла после его модификации. -
Проверьте статус
Aliveузла FE.SHOW PROC '/frontends'\G
Если статус Alive становится true, узел FE успешно модифицирован и добавлен в кластер как Follower FE узел.
Включение доступа по FQDN для узлов BE
Выполните следующий запрос через ваш MySQL клиент, чтобы заменить IP-адрес на FQDN для включения доступа по FQDN для узла BE.
ALTER SYSTEM MODIFY BACKEND HOST "<be_ip>" TO "<be_hostname>";
ПРИМЕЧАНИЕ
Вам НЕ нужно перезапускать узел BE после включения доступа по FQDN.
Откат
Чтобы откатить кластер Selena с включенным доступом по FQDN к более ранней версии, которая не поддерживает доступ по FQDN, необходимо сначала включить доступ по IP-адресу для всех узлов в кластере. Вы можете обратиться к разделу Включение доступа по FQDN в существующем кластере для общего руководства, за исключением того, что вам нужно изменить SQL команды на следующие:
- Включение доступа по IP-адресу для узла FE:
ALTER SYSTEM MODIFY FRONTEND HOST "<fe_hostname>" TO "<fe_ip>";
- Включение доступа по IP-адресу для узла BE:
ALTER SYSTEM MODIFY BACKEND HOST "<be_hostname>" TO "<be_ip>";
Модификация вступает в силу после успешного перезапуска вашего кластера.
FAQ
В: Возникает ошибка при включении доступа по FQDN для узла FE: "required 1 replica. But none were active with this master". Что делать?
О: Убедитесь, что в кластере есть как минимум три Follower FE узла, прежде чем включать доступ по FQDN для узлов FE.
В: Могу ли я добавить новый узел, используя IP-адрес, в кластер с включенным доступом по FQDN?
О: Да.