ksqlDB中的绑定堆内存消耗

ksqlDB中的绑定堆内存消耗,ksqldb,Ksqldb,我试图以某种方式将ksqlDB服务器中的堆外内存消耗绑定起来。我发现了一篇关于此的文章:。在第一种方法中,我设置KSQL_选项: -Dksql.streams.rocksdb.config.setter=io.confluent.ksql.rocksdb.KsqlBoundedMemoryRocksDBConfigSetter 但我得到了: [2020-11-16 07:25:15,848] ERROR Failed to start KSQL (io.confluent.ksql.r

我试图以某种方式将ksqlDB服务器中的堆外内存消耗绑定起来。我发现了一篇关于此的文章:。在第一种方法中,我设置KSQL_选项:

    -Dksql.streams.rocksdb.config.setter=io.confluent.ksql.rocksdb.KsqlBoundedMemoryRocksDBConfigSetter
但我得到了:

[2020-11-16 07:25:15,848] ERROR Failed to start KSQL (io.confluent.ksql.rest.server.KsqlServerMain:60)
org.apache.kafka.common.config.ConfigException: Invalid value io.confluent.ksql.rocksdb.KsqlBoundedMemoryRocksDBConfigSetter for configuration rocksdb.config.setter: Class io.confluent.ksql.rocksdb.KsqlBoundedMemoryRocksDBConfigSetter could not be found.
    at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:728)
    at io.confluent.ksql.config.ConfigItem$Resolved.parseValue(ConfigItem.java:125)
    at io.confluent.ksql.util.KsqlConfig.lambda$resolveStreamsConfig$2(KsqlConfig.java:693)
    at java.base/java.util.Optional.map(Optional.java:265)
    at io.confluent.ksql.util.KsqlConfig.resolveStreamsConfig(KsqlConfig.java:693)
    at io.confluent.ksql.util.KsqlConfig.lambda$applyStreamsConfig$0(KsqlConfig.java:675)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
    at java.base/java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1746)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
    at io.confluent.ksql.util.KsqlConfig.applyStreamsConfig(KsqlConfig.java:678)
    at io.confluent.ksql.util.KsqlConfig.buildStreamingConfig(KsqlConfig.java:701)
    at io.confluent.ksql.util.KsqlConfig.<init>(KsqlConfig.java:738)
    at io.confluent.ksql.util.KsqlConfig.<init>(KsqlConfig.java:708)
    at io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java:50)
[2020-11-16 07:25:15848]启动KSQL时出错(io.confluent.KSQL.rest.server.KsqlServerMain:60)
org.apache.kafka.common.config.ConfigException:配置rocksdb.config.setter的无效值io.confluent.ksql.rocksdb.ksqlBoundedMemorySrockSDBConfigSetter:找不到类io.confluent.ksql.rocksdb.ksqlBoundedMemorySrockSDBConfigSetter。
位于org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:728)
在io.confluent.ksql.config.ConfigItem$Resolved.parseValue(ConfigItem.java:125)处
位于io.confluent.ksql.util.KsqlConfig.lambda$resolveStreamsConfig$2(KsqlConfig.java:693)
位于java.base/java.util.Optional.map(Optional.java:265)
位于io.confluent.ksql.util.KsqlConfig.resolveStreamsConfig(KsqlConfig.java:693)
位于io.confluent.ksql.util.KsqlConfig.lambda$applyStreamsConfig$0(KsqlConfig.java:675)
位于java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
位于java.base/java.util.HashMap$EntrySpliterator.ForEachLeving(HashMap.java:1746)
位于java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
位于java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
位于java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
位于java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
位于java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
位于java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
位于io.confluent.ksql.util.KsqlConfig.applyStreamsConfig(KsqlConfig.java:678)
位于io.confluent.ksql.util.KsqlConfig.buildStreamingConfig(KsqlConfig.java:701)
位于io.confluent.ksql.util.KsqlConfig.(KsqlConfig.java:738)
位于io.confluent.ksql.util.KsqlConfig.(KsqlConfig.java:708)
位于io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java:50)

我还尝试在
ksqldb server.properties
中设置此参数,但结果相同。我使用的是docker镜像:
confluentinc/ksqldb服务器:0.9.0
。这样做是正确的还是我遗漏了什么?

Docker映像中不包含ksqldb rocksdb config setter jar。您可以从confluent的maven存储库中提取jar


请参阅:

Docker映像中不包括ksqldb rocksdb配置设置器jar。您可以从confluent的maven存储库中提取jar

见: