Apache kafka 连接到现有kafka代理时,ksqlDB服务器无法启动

Apache kafka 连接到现有kafka代理时,ksqlDB服务器无法启动,apache-kafka,confluent-platform,ksqldb,Apache Kafka,Confluent Platform,Ksqldb,我现在有一个卡夫卡经纪人,电话:9092。该代理正在运行ApacheKafka版本2.2.0。我想使用ksqlDB对kafka代理上的主题中的数据进行一些流处理。因此,根据上的兼容性表,我使用的是来自Confluent Platform 5.2版的ksqlDB 我在ksql/ksqlserver.properties中设置了bootstrap.servers=:9092 但是,当我试图通过运行ksql server start etc/ksql/ksql server.properties来启动

我现在有一个卡夫卡经纪人,电话:9092。该代理正在运行ApacheKafka版本2.2.0。我想使用ksqlDB对kafka代理上的主题中的数据进行一些流处理。因此,根据上的兼容性表,我使用的是来自Confluent Platform 5.2版的ksqlDB

我在
ksql/ksqlserver.properties
中设置了
bootstrap.servers=:9092

但是,当我试图通过运行
ksql server start etc/ksql/ksql server.properties
来启动ksql服务器时,出现以下错误:

ERROR Failed to start KSQL (io.confluent.ksql.rest.server.KsqlServerMain:53)
org.apache.kafka.common.errors.SerializationException: Error deserializing key/value for partition _confluent-ksql-default__command_topic-0 at offset 0. If needed, please seek past the record to continue consumption.
Caused by: org.apache.kafka.common.errors.SerializationException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `io.confluent.ksql.rest.server.computation.Command`, problem: `java.lang.NullPointerException`
 at [Source: (byte[])"("statement":"CREATE STREAM KSQL_PROCESSING_LOG (logger VARCHAR, level VARCHAR, time BIGINT, message STRUCT<type INT, deserializationError STRUCT<errorMessage VARCHAR, recordB64 VARCHAR, cause ARRAY<VARCHAR>, `topic` VARCHAR>, recordProcessingError STRUCT<errorMessage VARCHAR, record VARCHAR, cause ARRAY<VARCHAR>>, productionError STRUCT<errorMessage VARCHAR>>) WITH(KAFKA_TOPIC='default_ksql_processing_log', VALUE_FORMAT='JSON');","originalProperties":{"ksql.extension.dir":"ext","ksql.streams.ca"[truncated 3011 bytes]; line: 1, column: 3511]
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `io.confluent.ksql.rest.server.computation.Command`, problem: `java.lang.NullPointerException`
 at [Source: (byte[])"("statement":"CREATE STREAM KSQL_PROCESSING_LOG (logger VARCHAR, level VARCHAR, time BIGINT, message STRUCT<type INT, deserializationError STRUCT<errorMessage VARCHAR, recordB64 VARCHAR, cause ARRAY<VARCHAR>, `topic` VARCHAR>, recordProcessingError STRUCT<errorMessage VARCHAR, record VARCHAR, cause ARRAY<VARCHAR>>, productionError STRUCT<errorMessage VARCHAR>>) WITH(KAFKA_TOPIC='default_ksql_processing_log', VALUE_FORMAT='JSON');","originalProperties":{"ksql.extension.dir":"ext","ksql.streams.ca"[truncated 3011 bytes]; line: 1, column: 3511]
...
启动KSQL时出错(io.confluent.KSQL.rest.server.KsqlServerMain:53) org.apache.kafka.common.errors.SerializationException:在偏移量0处反序列化分区_confluent-ksql-default__命令_topic-0的键/值时出错。如果需要,请通过记录继续消费。 原因:org.apache.kafka.common.errors.SerializationException:com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造'io.confluent.ksql.rest.server.Computium.Command'的实例,问题:`java.lang.NullPointerException` 在[Source:(byte[])”(“语句”:“创建流KSQL_PROCESSING_LOG(logger VARCHAR,level VARCHAR,time BIGINT,message STRUCT)和(KAFKA_TOPIC='default_KSQL_PROCESSING_LOG,VALUE_FORMAT='JSON');“originalProperties”:{“KSQL.extension.dir”:“ext”,“KSQL.streams.ca”[截断3011字节];第1行,第3511列] 原因:com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造'io.confluent.ksql.rest.server.computation.Command'的实例,问题:`java.lang.NullPointerException` 在[Source:(byte[])”(“语句”:“创建流KSQL_PROCESSING_LOG(logger VARCHAR,level VARCHAR,time BIGINT,message STRUCT)和(KAFKA_TOPIC='default_KSQL_PROCESSING_LOG,VALUE_FORMAT='JSON');“originalProperties”:{“KSQL.extension.dir”:“ext”,“KSQL.streams.ca”[截断3011字节];第1行,第3511列] ... 如果我使用本地代理并设置
bootstrap.servers=localhost:9092
,那么ksql服务器启动时不会出现任何问题


如何绕过此空记录/反序列化问题,以便将ksqldb服务器连接到我现有的kafka代理?

正如@OneCricketeer指出的,问题来自集群上的现有命令主题。您可以通过更改ksqldb服务器属性中的属性来使用新的命令主题。如果没有其他人使用KS,请参阅。

在该集群上,您可以删除
\u confluent-ksql-default\u command\u topic