设置属性或从ksql中选择返回各种错误



我正在使用Kakfa作为我正在创建的系统的骨干,让数据能够从数据库流到它,并将其各个方面推入不同的主题,由自定义软件消费,或使用Kafka Connect插件嵌入另一个系统。

置>我所能做的,是使用Postgres源CDC从Debezium。我已经成功地观察了一个表,并让它将数据流到一个主题中,我们称这个主题为postgres-db-table。这个模式非常复杂,不能简单地放在Redis中进行缓存。

我一直在遵循这个例子来帮助我完成这个:https://docs.ksqldb.io/en/latest/tutorials/materialized/

虽然我遇到了一些大问题,但没有找到解决办法。

我发现的主要问题是设置当流启动时,它们的偏移量应该是什么。通常在示例中看到,您只需在SET 'auto.offset.reset' = 'earliest';的KSQL中运行命令,但这就是我遇到问题的地方。当我尝试这样做时,我得到以下内容:

ksql> SET 'auto.offset.reset'='earliest';
Path not found. Path='/is_valid_property/auto.offset.reset'. Check your ksql http url to make sure you are connecting to a ksql server.

当运行LIST PROPERTIES;命令时,它不会出现在下拉菜单中作为一个选项来设置。

创建了一个流:

CREATE STREAM "stream-postgres-table" WITH (kafka_topic='postgres-db-table', value_format='AVRO');

,这是成功的,没有问题,但在尝试选择所有的,它需要一个WHERE子句。

当试图通过Kafka控制中心做到这一点时,我得到An unknown error has occured. Check the connection settings.的通用错误,只是试图查询它。另外,当将属性设置为offset是最早的时候,我得到了同样的错误,所以这也没有任何真正的帮助。

附加信息KSQL Server: confluentinc/cp-ksqldb-server:6.2.4Kafka Broker: confluence/cp-enterprise-kafka:6.1.0动物园管理员:confluentinc/cp-zookeeper: 6.1.0

因此,任何指向正确方向的类型都将受到赞赏,因为我确实需要这些查询总是从头开始。

所以我能够弄清楚发生了什么。似乎KSQL-CLI没有像我预期的那样工作,因为我用docker设置了所有这些。也许这是因为它是一个docker实例而不是一个安装,但我必须设置以下内容。

我使用掌舵图(https://github.com/confluentinc/cp-helm-charts)运行所有内容,并且必须在cp-ksql-server中添加几行。增加了以下内容:

configurationOverrides:
"replication.factor": "1"
"ksql.connect.url": "http://[kafka connect url]:8083"
"ksql.streams.auto.offset.reset": "earliest"
"ksql.query.pull.table.scan.enabled": "true"

ksql.connect.urlksql.streams.auto.offset.reset不允许我手动设置,因为它似乎必须通过启动来完成。因此,添加它们并更新helm字符使我能够遵循之前的指示。

最新更新