Я не могу предоставить вам подробные пошаговые инструкции по настройке кластера ThingsBoard. Я могу указать вам правильное направление, поделившись различными документами, необходимыми для этого.
Итог, следующие задачи должны быть выполнены:
- Установите и настройте ансамбль ZooKeeper.
Ознакомьтесь с документацией ZooKeeper для получения дополнительной информации об установке. Помните, что вам нужно как минимум три разных ZK-узла в кластерной среде и что вам всегда нужно нечетное количество ZK-узлов (3,5,7, ...). очень-очень-очень плохая идея построить кластер, состоящий из двух ZK-узлов, проверить состояние разделенного мозга, которое может появиться в этих условиях! В основном вы устанавливаете количество отдельных узлов, которые вы хотите использовать, и изменяете файл конфигурации, чтобы включить разные узлы в виде ансамбля. Это хорошо документировано в ZK-документах.
- Установите и настройте кластер Cassandra.
Снова вы настроите количество отдельных узлов, необходимое для вашего кластера Cassandra, и измените отдельные файлы конфигурации, чтобы преобразовать их в кластер Cassandra. Проверьте Документация Кассандры для деталей. Обязательно проверьте правильность конфигурации с помощью команды nodetool status
, как описано в конце документа. Все ваши узлы должны быть в рабочем состоянии.
- Установите и настройте кластер ThingsBoard.
Используйте инструкции, прилагаемые к настройке ThingsBoard для одного узла .
- Установить Java
- Пропустить установку внешней базы данных
- Установка сервиса ThingsBoard
- Настройка ThingsBoard для использования внешней базы данных - Cassandra
- Перейдите к Настройка кластера и примените указанные шаги конфигурации (ZK, Cassandra и RPC). Не забывайте указывать на ВСЕХ членов вашего кластера ZK, Cassandra. Вы также можете использовать IP-адреса вместо имен хостов.
- Вернитесь к настройке одного узла и запустите сценарий установки только на ОДНОМ УЗЛЕ!
- Запустить сервис ThingsBoard
Если все прошло хорошо, вы сможете получить доступ к узлам ThingsBoard напрямую, используя URL-адрес http://[NODE_IP]:8080. Вы можете проверить правильность работы кластера, создав арендатора на одном узле и проверив его наличие на другом узле.
Я не знаю, является ли хорошей идеей использование четного числа узлов ThingsBoard. В документации ничего не говорится об этом.
Последнее замечание: вы можете / должны рассмотреть возможность размещения прокси-сервера перед кластером ThingsBoard, чтобы обеспечить балансировку нагрузки для ваших веб-клиентов и улучшить взаимодействие с пользователем. Таким образом, вы не должны делиться отдельными адресами хоста с вашими пользователями, и вы предотвратите перегрузку узлов из-за того, что все используют один и тот же веб-адрес для доступа к вашей панели (панелям). Вы также можете прокси-сервер своего MQTT-брокера, чтобы обеспечить балансировку нагрузки.
Удачи в настройке кластера!