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