Перейти к основному содержимому
Версия: 2.0.x

Развёртывание

Эта тема содержит ответы на часто задаваемые вопросы о развёртывании.

Как привязать фиксированный IP-адрес с помощью параметра priority_networks в файле fe.conf?

Описание проблемы

Например, если у вас есть два IP-адреса: 192.168.108.23 и 192.168.108.43. Вы можете указать IP-адреса следующим образом:

  • Если вы указываете адреса как 192.168.108.23/24, Selena распознает их как 192.168.108.43.
  • Если вы указываете адреса как 192.168.108.23/32, Selena распознает их как 127.0.0.1.

Решение

Есть два способа решить эту проблему:

  • Не добавляйте "32" в конце IP-адреса или замените "32" на "28".
  • Вы также можете обновиться до Selena 2.1 или более поздней версии.

Почему возникает ошибка "Selena BE http service did not start correctly, exiting" при запуске backend (BE) после установки?

При установке BE система сообщает об ошибке запуска: Selena Be http service did not start correctly, exiting.

Эта ошибка возникает, потому что порт веб-сервисов BE занят. Попробуйте изменить порты в файле be.conf и перезапустите BE.

Что делать при возникновении ошибки: ERROR 1064 (HY000): Could not initialize class com.selena.rpc.BackendServiceProxy?

Эта ошибка возникает при запуске программ в Java Runtime Environment (JRE). Чтобы решить эту проблему, замените JRE на Java Development Kit (JDK). Мы рекомендуем использовать Oracle JDK 17 или более позднюю версию.

Можно ли изменять параметры конфигурации FE и BE без перезапуска cluster?

Да. Выполните следующие шаги для завершения изменений параметров конфигурации FE и BE:

  • FE: Вы можете завершить изменение для FE одним из следующих способов:

    • SQL
    ADMIN SET FRONTEND CONFIG ("key" = "value");

    Пример:

    ADMIN SET FRONTEND CONFIG ("enable_statistic_collect" = "false");
    • Shell
    curl --location-trusted -u username:password \
    http://<ip>:<fe_http_port/api/_set_config?key=value>

    Пример:

    curl --location-trusted -u <username>:<password> \
    http://192.168.110.101:8030/api/_set_config?enable_statistic_collect=true
  • BE: Вы можете завершить изменение для BE следующим способом:

curl -XPOST -u username:password \
http://<ip>:<be_http_port>/api/update_config?key=value

Примечание: Убедитесь, что у пользователя есть права на удалённый вход. Если нет, вы можете предоставить права пользователю следующим способом:

CREATE USER 'test'@'%' IDENTIFIED BY '123456';

GRANT SELECT ON . TO 'test'@'%';

Почему возникает ошибка "Fe type:unknown ,is ready :false." при запуске FE во время перезапуска cluster?

Проверьте, работает ли leader FE. Если нет, перезапустите узлы FE в вашем cluster по одному.

Почему возникает ошибка "failed to get service info err." при развёртывании cluster?

Проверьте, включён ли OpenSSH Daemon (sshd). Если нет, выполните команду /etc/init.d/sshd`` status, чтобы включить его.

Почему возникает ошибка "Fail to get master client from cache. ``host= port=0 code=THRIFT_RPC_ERROR" при запуске BE?

Выполните команду netstat -anp |grep port, чтобы проверить, заняты ли порты в файле be.conf. Если да, замените занятый порт на свободный и перезапустите BE.

Почему в логах узла FE на странице диагностики Selena Manager отображается "Search log failed." для недавно развёрнутого узла FE, который работает корректно?

По умолчанию Selena Manager получает конфигурацию пути недавно развёрнутого FE в течение 30 секунд. Эта ошибка возникает, когда FE запускается медленно или не отвечает в течение 30 секунд по другим причинам. Проверьте лог Manager Web по пути:

/selena-manager-xxx/center/log/webcenter/log/web/``drms.INFO (вы можете настроить этот путь). Затем найдите, отображается ли сообщение "Failed to update FE configurations" в логе. Если да, перезапустите соответствующий FE, чтобы получить новую конфигурацию пути.

Почему возникает ошибка "exceeds max permissable delta:5000ms." при запуске FE?

Эта ошибка возникает, когда разница во времени между двумя машинами превышает 5 секунд. Чтобы решить эту проблему, синхронизируйте время на этих двух машинах.

Как настроить параметр storage_root_path, если в BE есть несколько дисков для хранения данных?

Настройте параметр storage_root_path в файле be.conf и разделите значения этого параметра точкой с запятой ;. Например: storage_root_path=/the/path/to/storage1;/the/path/to/storage2;/the/path/to/storage3;

Почему возникает ошибка "invalid cluster id: 209721925." после добавления FE в мой cluster?

Если вы не добавили опцию --helper для этого FE при первом запуске вашего cluster, метаданные между двумя машинами несовместимы, поэтому возникает эта ошибка. Чтобы решить эту проблему, вам нужно очистить все метаданные в директории meta, а затем добавить FE с опцией --helper.

Почему Alive равен false, когда FE работает и выводит лог transfer: follower?

Эта проблема возникает, когда используется более половины памяти Java Virtual Machine (JVM) и не отмечена контрольная точка. В общем случае контрольная точка будет отмечена после того, как система накопит 50 000 записей логов. Мы рекомендуем изменить параметры JVM для каждого FE и перезапустить эти FE, когда они не под высокой нагрузкой.

Ошибка запроса: "could not initialize class com.selena.rpc.BackendServiceProxy". Как это решить?

  • Убедитесь, что переменная окружения $JAVA_HOME указывает на правильный путь к JDK.
  • Убедитесь, что все узлы используют одинаковую версию JDK. Все узлы должны использовать идентичную версию JDK.

Каковы требования к версии MySQL для установки Selena?

Для подключения к Selena рекомендуется MySQL 5.7 или более поздняя версия.

Если FE и BE развёрнуты на одной машине, как их разделить?

Рекомендуется сначала масштабировать узел BE. После того как cluster завершит балансировку, вы можете масштабировать исходный узел BE.

Что делать, когда FE не запускается с ошибкой "Replica exceeds max permissible delta:5000ms"?

Часы между узлами FE не синхронизированы. Разница во времени между узлами FE должна быть менее 5 секунд.

Если у меня есть пять физических машин в производственной среде, какое развёртывание Selena рекомендуется?

Рекомендуемое развёртывание — 3 узла FE и 5 узлов BE.

Нужно ли использовать пользователя root для установки Selena?

Не рекомендуется использовать пользователя root, поскольку у него чрезмерные привилегии. Создайте выделенного пользователя для установки Selena.

Могу ли я установить клиент MySQL на любой машине?

Да. Это просто клиентский инструмент, и он не должен работать на той же машине, что и Selena. Убедитесь, что клиент MySQL может получить доступ к cluster.

Есть ли ограничение на количество tablet на узле BE? Например, для сервера с 64 ГБ оперативной памяти и 16 ядрами, каков разумный диапазон количества tablet?

Строгого ограничения на количество tablet нет. Однако для размера tablet рекомендуется поддерживать каждый tablet около 1 ГБ. Правильные стратегии секционирования и бакетирования помогут улучшить производительность запросов. Планирование размера tablet важно.

При запуске BE я вижу ошибку "error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory". И после ручного создания директории lib/selena_be я получаю ошибку отказа в доступе. Что делать?

Есть проблема с установкой JDK. Пожалуйста, переустановите и правильно настройте среду JDK.

Поддерживает ли Selena работу на AMD AVX2? Вызовет ли смешивание серверов Intel и AMD проблемы?

Selena может работать на AMD. Смешивание серверов Intel и AMD не рекомендуется, поскольку неоднородность оборудования может вызвать проблемы. Рекомендуется полностью протестировать Selena на AMD перед миграцией.