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

为什么德贝兹连接器无法连接到 SASL 激活的代理?

何安宜
2023-03-14

我正在尝试为我的Kafka系统启用 SASL/普通。它实际上可以工作,我已经针对模式注册表和Java生产者对其进行了测试。问题是 Kafka Connect 在启用 SASL 时无法建立连接(至少这是我首先想到的)。我给出了必要的配置,但看起来它根本没有影响。我已经编辑了我的连接 - avro-分布式.properties文件为:

sasl.mechanism=PLAIN
security.protocol=SASL_PLAINTEXT
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
  username="admin" \
  password="secret";

producer.sasl.mechanism=PLAIN
producer.security.protocol=SASL_PLAINTEXT
producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
  username="admin" \
  password="secret";

consumer.sasl.mechanism=PLAIN
consumer.security.protocol=SASL_PLAINTEXT
consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
  username="admin" \
  password="secret";

但在日志中它说:

[2022-01-07 12:21:28,645] INFO ProducerConfig values:
        sasl.mechanism = GSSAPI
        security.protocol = PLAINTEXT

这应该像:

[2022-01-07 12:21:28,645] INFO ProducerConfig values:
        sasl.mechanism = PLAIN
        security.protocol = SASL_PLAINTEXT

消费者配置也是如此。我需要做什么?为什么它带有默认值?我已经重启服务很多次了。提前感谢。

编辑:还有另一个连接器可以毫无问题地运行,并且它具有SASL的正确配置。

Edit2:看起来Debezium连接器在连接器方面需要更多的配置。

共有1个答案

龚同
2023-03-14

使用不同的连接器进行尝试可以清楚地看出存在Debezium特定的问题。由于Debezium使用历史主题,因此在启用安全性时需要一些额外的配置。

"database.history.consumer.security.protocol": "SASL_PLAINTEXT",
"database.history.consumer.sasl.mechanism": "PLAIN",
"database.history.consumer.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"admin\" password=\"secret\";",
"database.history.producer.security.protocol": "SASL_PLAINTEXT",
"database.history.producer.sasl.mechanism": "PLAIN",
"database.history.producer.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"admin\" password=\"secret\";"

您需要覆盖Debezium连接器的生产者和消费者配置的默认值。如果使用SSL,您需要添加几行代码。有关详细信息,请访问:https://docs . confluent . io/debezium-connect-SQL server-source/current/SQL server _ source _ connector _ config . html

 类似资料:
  • 我正在尝试使用RJDBC连接到Hive2,但它失败了,“GSS initiate Failed”。然而,同样的事情工作良好使用beeline客户端。知道在相同的节点上使用相同的凭据运行这两个节点时,是什么导致了不同的行为吗? drv<-rjdbc::jdbc(“org.apache.hive.jdbc.hivedriver”,cp,“`”) conn<-rjdbc::dbconnect(drv,“

  • 尝试添加服务器时(这是我的第一次安装) 配置: postgres 12 第七分 pgadmin 4 我明白了 每 我可以从 psql 进行网络连接 我正在收听5432端口 我可以从我的localhost postgres从java建立TCP连接 如何在Ubuntu上使用pgAdmin将Postgres连接到本地主机服务器? psql (12.1, 服务器 9.2.24) 键入“帮助”以获取帮助。

  • 在运行< code>Cassandra命令,然后尝试在另一个命令提示符窗口中运行< code>cqlsh后,我收到了此错误。你能让我知道如何解决这个问题吗? 连接错误:('无法连接到任何服务器',{'127.0.0.1':错误(10061,"尝试连接到[('127.0.0.1',9042)]。最后一个错误:无法进行连接,因为目标机器主动拒绝它")})

  • 我正在尝试为我的kubernetes项目使用。 我遵循仙丹指南和凤凰指南。在Connect to your Cloud SQL实例中,该指南指出,运行“cloud_sql_proxy-dir=/tmp/cloudsql”和“psql-h/tmp/cloudsql/[CONNECTION-NAME]-u postgres”将打开代理。 所以我尝试用下面的这些命令创建一个新的目录。 然后我尝试连接云s

  • 我正在尝试连接两个正在运行的容器:(1)一个webapp和(2)一个使用docker Compose的mysql db。我设置了前面提到的,但我的webapp无法打开到MySQL的套接字。更具体地说,这个php@fsockopen函数抛出一个错误(第二种情况)。docker-compose配置有问题吗? 注意:idoit是webapp的名称 php案例 docker-compose.yml

  • 问题内容: 元- 作业系统:OSX 10.12.6(16G29) 浏览器: Chrome版本62.0.3202.62(正式版本)(64位) 浏览器版本: 62.0.3202.62(正式版本)(64位) 预期行为- Chrome会话应开始,脚本应执行到结束 实际行为- 浏览器已启动,但脚本立即崩溃。 码: 问题答案: 您正在使用chromediver 2.32,并且在发行说明中写道,该支持是针对 C