了解 InfluxDB Enterprise:什么是集群?
作者:Katy Farmer / 应用场景, 开发者, 产品
2018年5月8日
导航至
如果您开始使用 InfluxDB Enterprise,您可能会有一些问题。这对我们来说总是好消息;问题意味着您想了解更多。
今天的问题是:什么是集群?
一般来说,您可能知道什么是集群。我可以有一个节点集群或一个葡萄集群。但是,在 InfluxDB Enterprise 的世界中,它意味着什么呢?
<figcaption> 图示:Puppy Enterprise 现在提供集群功能</figcaption>
InfluxDB Enterprise 集群由两种类型的节点组成:元数据节点和数据节点。
您可以阅读官方文档,我们将在这里讨论基本原理。
数据节点
您的所有原始时间序列数据都存储在数据节点上。您的 Influx 和/或 Kapacitor 实例在这里很舒适。它们不关心共识,也不参与决策。数据节点用于存储您的数据。
为了实现高可用性,您需要至少为 2 的复制因子。复制因子仅表示任何一个分片应存在的副本数。数据节点的数量应可被复制因子整除。您不希望数据节点的数量为质数,这有非常计算机科学的原因。相信我们。
硬件
CPU:8 核以上 RAM:64 GB 以上 磁盘:SSD 硬盘(建议 >1000 IOPS)
元数据节点
元数据节点的工作很简单:保持状态一致。简单,但对于您的数据来说非常重要。您永远不想担心哪个分片位于哪个节点上,或者达成共识——这是元数据节点管理的复杂且至关重要的数据类型。元数据节点只知道关于状态的基本信息,例如保留策略、用户和数据库。
最重要的是要记住,您需要奇数个元数据节点。想想和朋友一起决定去哪里吃午饭。如果在墨西哥卷饼和汉堡之间出现平局,您可能会在决定之前饿死。但是,如果您有奇数个人,就不可能出现平局。奇数个元数据节点确保它们始终可以达成共识(如果您对共识感到好奇,我们使用 RAFT 共识算法)来做出决策。
如果您需要集群的高可用性,则至少需要 3 个元数据节点。如果您只有一个元数据节点,您已经满足了共识所需的奇数标准,但如果该节点变得不可用,您将没有任何元数据节点。两个是无稽之谈。您不记得最重要的规则了吗?仅限奇数。这使我们达到了三个元数据节点:既有高可用性的空间,又有奇数。
硬件
CPU:1-2 核 RAM:512MB - 1GB 磁盘:1 个 HDD(任意大小)可以在 VM 或容器中运行
关于负载均衡器的说明
从技术上讲,您可以拥有一个没有负载均衡器的集群,但除非您真的喜欢手动将请求路由到各个节点,否则您可能会使用负载均衡器。Influx 与负载均衡器无关,因此请选择您喜欢和信任的负载均衡器。其余的交给我们处理。
总结
InfluxDB Enterprise 集群由元数据节点和数据节点(以及通常的负载均衡器)组成。高可用性的最低设置是三个元数据节点和两个数据节点。