文档资料

自定义集群规模

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的最大内存资源单位

查看带有资源请求和限制的示例AppInstance

为了为您的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:分配给垃圾回收器的最大内存资源单位

查看带有资源请求和限制的示例values.yaml

将更改应用到您的集群

使用kubectlhelm(如果使用InfluxDB Clustered Helm图)将更改应用到您的集群

kubectl apply \
  --filename myinfluxdb.yml \
  --namespace influxdb
helm upgrade \
  influxdata/influxdb3-clustered \
  -f ./values.yml \
  --namespace influxdb

这个页面有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 将进入维护模式。您无需对代码进行任何更改,可以继续按当前方式使用它。

阅读更多

InfluxDB v3 增强功能和 InfluxDB 集群现在已正式发布

包括更快的查询性能和管理工具在内的新功能,推动了 InfluxDB v3 产品线的进步。InfluxDB 集群现在已正式发布。

InfluxDB v3 性能和功能

InfluxDB v3 产品线在查询性能方面有了显著提升,并提供了新的管理工具。这些增强包括一个用于监控 InfluxDB 集群健康状况的操作仪表板,InfluxDB 云专用版中的单点登录(SSO)支持,以及用于令牌和数据库的新管理 API。

了解新的 v3 增强功能


InfluxDB 集群正式发布

InfluxDB 集群现在已正式发布,并为您提供了在自管理堆栈中使用 InfluxDB v3 的能力。

与我们谈谈 InfluxDB 集群