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