当前位置: 首页 > 知识库问答 >
问题:

Kafka与CockroachDB连接

萧伟兆
2023-03-14

我正在尝试使用CockroachDB (v2.0.6)作为我的一个Kafka主题的接收器。

我找不到任何专门用于CockroachDB的Kafka连接器,所以我决定使用Confluent的jdbc sink连接器,因为CockroachDB支持postgreSQL语法。

我在Kafka Connect上使用的连接字符串如下

"connection.url": "jdbc:postgresql://roach1:26257/mydb?sslmode=disable"

这基本上是我在现有工作的Postgres接收器连接器上所做的唯一更改。

不幸的是,我无法使它工作,因为连接器出现错误

Caused by: org.apache.kafka.connect.errors.ConnectException: java.sql.SQLException: org.postgresql.util.PSQLException: ERROR: syntax error at or near "."
  Detail: source SQL:
SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM,   ct.relname AS TABLE_NAME, a.attname AS COLUMN_NAME,   (i.keys).n AS KEY_SEQ, ci.relname AS PK_NAME FROM pg_catalog.pg_class ct   JOIN pg_catalog.pg_attribute a ON (ct.oid = a.attrelid)   JOIN pg_catalog.pg_namespace n ON (ct.relnamespace = n.oid)   JOIN (SELECT i.indexrelid, i.indrelid, i.indisprimary,              information_schema._pg_expandarray(i.indkey) AS keys         FROM pg_catalog.pg_index i) i     ON (a.attnum = (i.keys).x AND a.attrelid = i.indrelid)   JOIN pg_catalog.pg_class ci ON (ci.oid = i.indexrelid) WHERE true  AND ct.relname = 'my_topic' AND i.indisprimary  ORDER BY table_name, pk_name, key_seq
    at io.confluent.connect.jdbc.sink.JdbcSinkTask.put(JdbcSinkTask.java:88)
    at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:564)
    ... 10 more
Caused by: java.sql.SQLException: org.postgresql.util.PSQLException: ERROR: syntax error at or near "."
  Detail: source SQL:
SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM,   ct.relname AS TABLE_NAME, a.attname AS COLUMN_NAME,   (i.keys).n AS KEY_SEQ, ci.relname AS PK_NAME FROM pg_catalog.pg_class ct   JOIN pg_catalog.pg_attribute a ON (ct.oid = a.attrelid)   JOIN pg_catalog.pg_namespace n ON (ct.relnamespace = n.oid)   JOIN (SELECT i.indexrelid, i.indrelid, i.indisprimary,              information_schema._pg_expandarray(i.indkey) AS keys         FROM pg_catalog.pg_index i) i     ON (a.attnum = (i.keys).x AND a.attrelid = i.indrelid)   JOIN pg_catalog.pg_class ci ON (ci.oid = i.indexrelid) WHERE true  AND ct.relname = 'collect_flow_tracking' AND i.indisprimary  ORDER BY table_name, pk_name, key_seq 

所以我的问题是,有没有人成功地将Kafka Connect与CockroachDB一起使用?还有没有人对这个错误(是什么导致的)以及如何规避它并使其工作有任何指导?

共有1个答案

孔鹤龄
2023-03-14

CockroachDB PM 在这里。看起来问题是由 Kafka Connect Postgres 连接器执行的不受支持的数据库自检查询。好消息是,CockroachDB 2.1似乎确实支持这个特定的查询。您可以使用最新的CockroachDB测试版重试吗?

 类似资料:
  • CockroachDB (蟑螂数据库)是一个可伸缩的、支持地理位置处理、支持事务处理的数据存储系统。 CockroachDB 提供两种不同的的事务特性,包括快照隔离(snapshot isolation,简称SI)和顺序的快照隔离(SSI)语义,后者是默认的隔离级别。 蟑螂是一个分布式的K/V数据仓库,支持ACID事务,多版本值存储是其首要特性。主要的设计目标是全球一致性和可靠性,从蟑螂的命名上是

  • 我正在使用 3 个服务器集群进行 Kafka 配置,使用 Snowflake 连接器 REST API 将数据推送到 Snowflake 数据库:所有这些都是在 AWS 上运行的 3 个不同的虚拟机 1.在这种情况下,我们是否需要3个kafka单独的服务器zookeeper服务需要在集群中启动和运行,否则只有1个就足够了,就像它需要在所有3个服务器zookerper服务中执行一样,它是否需要不同的

  • 我正在使用Apache Flink 1.3.2的集群。我们正在使用Kafka消息,自从将代理升级到1.1.0(从0.10.2)后,我们经常在日志中发现此错误: 因此,有时我们在处理过程中会遇到缺失事件。我们在工作中使用FlinkKafkaConsumer010。 已启用检查点(间隔10秒,超时1分钟,检查点之间的最小暂停时间为5秒,最大并发检查点时间为1秒。E2E的平均持续时间不到1秒,甚至不到半

  • 因此,在aws实例中,我们尝试将spring kafka与msk连接起来,在msk中使用本地kafka。接下来没有ssl。我试着用telnet运行它。但是在运行应用程序时,出现了这个异常。 我们的msk集群在同一个vpc中。所有代理连接配置字符串都正常

  • 我有哪些选项可以将Kafka与Spring靴骆驼连接? 我正在运行ActiveMQ Artemis和Camel,以建立进出客户端的JMS/MQTT和REST路由。我想把Kafka添加到这个二重唱中,以流式传输/交换数据(视频音频、文件/文本)。 到目前为止,我下载了Kafka汇合平台(免费试用),我正在测试他们提供什么。在融合平台中,我看到有可能将连接器作为“插件”添加。我假设我可以添加Camel

  • 我有两个Kafka主题-和。第一个主题包含由唯一Id(称为)键入的recommendations对象。每个产品都有一个用户可以单击的URL。 主题获取通过单击推荐给用户的产品URL生成的消息。它是如此设置的,这些单击消息也由键控。 请注意 > 每个单击对象都会有一个相应的推荐对象。 click对象的时间戳将晚于Recommensions对象。 建议和相应的点击之间的间隔可能是几秒钟到几天(最多7天