自定义集群规模
InfluxDB 集群允许您单独扩展集群中的每个组件,因此您可以自定义集群的规模以解决您的工作负载的特定需求。例如,如果您有繁重的写入工作负载,但没有繁重的查询工作负载,您可以通过垂直扩展(垂直)和水平扩展(水平)来扩展您的 Router 和 Ingester,以提高您的写入吞吐量和延迟。
默认规模设置
- 1 个路由器:额外的路由器增加了您集群处理并发写入请求的能力。
- 3 个 Ingester:确保写入路径上的冗余。
- 1 个查询器:查询器的最佳数量取决于您可能有的并发查询数量以及它们的执行时间。
- 1 个 Compactor:虽然您可以拥有多个 Compactor,但垂直扩展(分配更多 CPU 和内存)比水平扩展(增加 Compactor 的数量)更有效。
- 1 个垃圾回收器:垃圾回收器是一个轻量级进程,只有在观察到垃圾回收器使用大量资源时才需要垂直扩展。垃圾回收器不能水平扩展。
默认值提供了测试的良好起点。一旦您的集群启动并运行,并且您正在寻找针对预期工作负载的扩展建议,请联系 InfluxData 支持团队,以帮助您根据预期工作负载确定合适的规模设置。
自定义规模设置
您的 AppInstance
资源控制您的 InfluxDB 集群中组件的规模。您可以直接编辑 AppInstance
资源,或者如果您使用 InfluxDB 集群 Helm 图表 来管理您的部署,您可以在 values.yaml
中编辑资源设置。
有关具体的扩展建议和指南,请参阅扩展您的集群。
使用 Kubernetes,您可以为每个组件定义最小资源和资源限制。
为了为您的InfluxDB集群使用自定义缩放设置,请在您的myinfluxdb.yml
文件中编辑以下字段的值。如果省略,则您的集群将使用默认的缩放设置。
spec.package.spec.resources
ingester
requests
cpu
:分配给ingesters的最小CPU资源单位memory
:分配给ingesters的最小内存资源单位replicas
:要提供的ingester副本数量
limits
cpu
:分配给ingesters的最大CPU资源单位memory
:分配给ingesters的最大内存资源单位
compactor
requests
cpu
:分配给compactors的最小CPU资源单位memory
:分配给compactors的最小内存资源单位replicas
:要提供的compactor副本数量
limits
cpu
:分配给compactors的最大CPU资源单位memory
:分配给compactors的最大内存资源单位
querier
requests
cpu
:分配给queriers的最小CPU资源单位memory
:分配给queriers的最小内存资源单位replicas
:要提供的querier副本数量
limits
cpu
:分配给queriers的最大CPU资源单位memory
:分配给queriers的最大内存资源单位
router
requests
cpu
:分配给routers的最小CPU资源单位memory
:分配给routers的最小内存资源单位replicas
:要提供的router副本数量
limits
cpu
:分配给routers的最大CPU资源单位memory
:分配给routers的最大内存资源单位
garbage-collector
requests
cpu
:分配给垃圾回收器的最小CPU资源单位memory
:分配给垃圾回收器的最小内存资源单位
limits
cpu
:分配给垃圾回收器的最大CPU资源单位memory
:分配给垃圾回收器的最大内存资源单位
prometheus
requests
cpu
:分配给prometheus的最小CPU资源单位memory
:分配给prometheus的最小内存资源单位
limits
cpu
:分配给prometheus的最大CPU资源单位memory
:分配给prometheus的最大内存资源单位
为了为您的InfluxDB集群使用自定义缩放设置,请在您的values.yaml
文件中修改以下字段。如果省略,则您的集群将使用默认的缩放设置。
resources
ingester
requests
cpu
:分配给ingesters的最小CPU资源单位memory
:分配给ingesters的最小内存资源单位replicas
:要提供的ingester副本数量
limits
cpu
:分配给ingesters的最大CPU资源单位memory
:分配给ingesters的最大内存资源单位
compactor
requests
cpu
:分配给compactors的最小CPU资源单位memory
:分配给compactors的最小内存资源单位replicas
:要提供的compactor副本数量
limits
cpu
:分配给compactors的最大CPU资源单位memory
:分配给compactors的最大内存资源单位
querier
requests
cpu
:分配给queriers的最小CPU资源单位memory
:分配给queriers的最小内存资源单位replicas
:要提供的querier副本数量
limits
cpu
:分配给queriers的最大CPU资源单位memory
:分配给queriers的最大内存资源单位
router
requests
cpu
:分配给routers的最小CPU资源单位memory
:分配给routers的最小内存资源单位replicas
:要提供的router副本数量
limits
cpu
:分配给routers的最大CPU资源单位memory
:分配给routers的最大内存资源单位
garbage-collector
requests
cpu
:分配给垃圾回收器的最小CPU资源单位memory
:分配给垃圾回收器的最小内存资源单位
limits
cpu
:分配给垃圾回收器的最大CPU资源单位memory
:分配给垃圾回收器的最大内存资源单位
相关Kubernetes文档
将更改应用到您的集群
使用kubectl
或helm
(如果使用InfluxDB Clustered Helm图)将更改应用到您的集群
kubectl apply \
--filename myinfluxdb.yml \
--namespace influxdb
helm upgrade \
influxdata/influxdb3-clustered \
-f ./values.yml \
--namespace influxdb
这个页面有帮助吗?
感谢您的反馈!