每个标签限制的最大值超过InfluxDB

Amm*_*mad 14 influxdb

我正在使用java并使用批处理点写入InfluxDb.我的代码在下面提到,

 BatchPoints batchPoints = BatchPoints
.database(dbName).retentionPolicy("autogen") .consistency(InfluxDB.ConsistencyLevel.ALL).build();


    point = Point.measurement("cpu")...

    batchPoints.point(point);
Run Code Online (Sandbox Code Playgroud)

我写了20到3000万点,过了一会儿得到例外:

.java.lang.RuntimeException: {"error":"partial write: max-values-per-tag limit exceeded (100708/100000): measurement=\"cpu\" tag=\"jkey\" value=\ .....
Run Code Online (Sandbox Code Playgroud)

想知道如何增加限额?或者我需要更改我的架构设计?

Amm*_*mad 17

我发现解决方案粘贴在这里,打开通常位于/etc/influxdb/influxdb.conf的Influxdb.conf文件并搜索:

# max-values-per-tag = 100000
Run Code Online (Sandbox Code Playgroud)

取消注释并将值替换为零,如下所示,

max-values-per-tag = 0
Run Code Online (Sandbox Code Playgroud)

并将涌入的涌入实例反弹以使更改生效.

  • @Ammad实际上10000已经是这个参数的一个很大的值.它是关于给定标记键的唯一值.每个这样的唯一值产生新的系列(可以将它们视为磁盘上的文件).拥有10000个单独的文件已经有点奇怪了.但拥有1e6文件是不合理的. (6认同)
  • 添加更多信息的链接:https://docs.influxdata.com/influxdb/v1.5/administration/config/#max-values-per-tag-100000 (2认同)
  • 这可能是一个“解决方案”,但除非您真的知道自己在做什么,否则您的 InfluxDB 架构很可能以非最佳方式使用标签。一般来说,标签应该有很少的唯一值。进一步参考:https://docs.influxdata.com/influxdb/v1.7/concepts/schema_and_data_layout/ (2认同)