构建 Thingsboard 集群 我需要帮助设置 Thingsboard 集群,在线文档非常有限。该集群将包含 2 个 Zookeeper 节点和 4 个带有 Cassandra DB 的 Thingsboard 节点。Zookeeper 应该单独安装吗?分步指南将不胜感激!
2 回答
我无法为您提供详细的分步说明来设置 ThingsBoard 集群。我可以通过共享您需要这样做的不同文档来为您指明正确的方向。
归根结底,必须完成以下任务:
- 安装和配置 ZooKeeper 集成。
查看ZooKeeper 文档以获取更多安装详细信息。请记住,在集群环境中您至少需要三个不同的 ZK 节点,并且您总是需要奇数个 ZK 节点(3、5、7、...)。构建一个由两个 ZK 节点组成的集群是一个非常非常非常糟糕的主意,请检查在这些情况下可能出现的裂脑情况!基本上,您设置您希望使用的单个节点的数量并更改配置文件以将不同的节点作为一个整体启用。这在 ZK-docs 中有很好的记录。
- 安装和配置 Cassandra 集群。
您将再次设置 Cassandra 集群所需的单个节点数量,并修改单个配置文件以将它们转换为 Cassandra 集群。有关详细信息,请查看Cassandra 文档。请务必使用nodetool status
文档末尾所述的命令检查正确的配置。您的所有节点都应该启动并运行。
- 安装和配置 ThingsBoard 集群。
使用ThingsBoard 单节点设置提供的说明。
- 安装 Java
- 跳过外部数据库安装
- ThingsBoard 服务安装
- 配置 ThingsBoard 以使用外部数据库 - Cassandra
- 转到集群设置并应用描述的配置步骤(ZK、Cassandra 和 RPC)。请记住指向您的 ZK、Cassandra 集群的所有成员。您也可以使用 IP 地址代替主机名。
- 返回单节点设置并仅在一个节点上运行安装脚本!
- 启动 ThingsBoard 服务
如果一切顺利,您应该可以使用 URL http://[NODE_IP]:8080直接访问您的 ThingsBoard 节点。您可以通过在一个节点上创建租户并检查其在另一个节点上的存在来验证集群操作是否正确。
我不知道使用偶数个 ThingsBoard 节点是否是个好主意。该文档没有提及任何有关此的内容。
最后一点,您可以/应该考虑在您的 ThingsBoard 集群前面放置一个代理,以便为您的 Web 客户端提供负载平衡并改善用户体验。这样,您不应该与您的用户共享单个主机地址,并且您将防止节点过载,因为每个人都使用相同的 Web 地址来访问您的仪表板。您还可以代理您的 MQTT 代理以提供负载平衡。
祝您在设置集群时好运!
Zookeeper 需要至少 3 个节点才能以集群模式运行。每个节点投票和获得 QUORUM 的有效副本数为 3。