Перейти к основному содержимому

Включение доступа по 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 узлов

  1. Перейдите в каталог развертывания узла FE и выполните следующую команду для остановки узла FE:

    ./bin/stop_fe.sh
  2. Выполните следующий запрос через ваш MySQL клиент, чтобы проверить статус Alive остановленного узла FE. Дождитесь, пока статус Alive станет false.

    SHOW PROC '/frontends'\G
  3. Выполните следующий запрос, чтобы заменить IP-адрес на FQDN.

    ALTER SYSTEM MODIFY FRONTEND HOST "<fe_ip>" TO "<fe_hostname>";
  4. Выполните следующую команду для запуска узла FE с доступом по FQDN.

    ./bin/start_fe.sh --host_type FQDN --daemon

    Свойство --host_type указывает метод доступа, который используется для запуска узла. Допустимые значения включают FQDN и IP. Это свойство нужно указать только ОДИН РАЗ при перезапуске узла после его модификации.

  5. Проверьте статус Alive узла FE. Дождитесь, пока статус Alive станет true.

    SHOW PROC '/frontends'\G
  6. Повторите вышеуказанные шаги для включения доступа по 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-адреса.

  1. Перейдите в каталог развертывания Leader FE узла и выполните следующую команду для остановки Leader FE узла.

    ./bin/stop_fe.sh
  2. Выполните следующий запрос через ваш MySQL клиент, чтобы проверить, был ли выбран новый Leader FE узел для кластера.

    SHOW PROC '/frontends'\G

    Любой узел FE со статусом Alive и isMaster равным true является работающим Leader FE.

  3. Выполните следующий запрос, чтобы заменить IP-адрес на FQDN.

    ALTER SYSTEM MODIFY FRONTEND HOST "<fe_ip>" TO "<fe_hostname>";
  4. Выполните следующую команду для запуска узла FE с доступом по FQDN.

    ./bin/start_fe.sh --host_type FQDN --daemon

    Свойство --host_type указывает метод доступа, который используется для запуска узла. Допустимые значения включают FQDN и IP. Это свойство нужно указать только ОДИН РАЗ при перезапуске узла после его модификации.

  5. Проверьте статус 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?

О: Да.