【问题标题】:Kafka cannot find connector plugins even after configuring plugin.path in worker.properties即使在 worker.properties 中配置 plugin.path 后,Kafka 也找不到连接器插件
【发布时间】:2020-06-18 09:03:50
【问题描述】:

我正在尝试在 Windows 上的 kafka 中配置 sqlserver debezium 连接器,为此我已从 here 下载连接器并在 C:\kafka_2.11-2.4.0 位置设置 kafka

在其中创建了一个名为 plugins 的文件夹 C:\kafka_2.11-2.4.0\plugins 并将下载的 jar 复制到 plugins 文件夹中。

之后在 config 文件夹中创建 worker.properties 和 sqlserverconnector.properties 文件,配置如下

worker.properties 配置

offset.storage.file.filename=/tmp/connect.offsets 
bootstrap.servers=localhost:9092 
offset.flush.interval.ms=10000
#rest.port=10082
#rest.host.name=localhost
#rest.advertised.port=10082
#rest.advertised.host.name=<hostname> 
internal.key.converter=org.apache.kafka.connect.json.JsonConverter 
internal.value.converter=org.apache.kafka.connect.json.JsonConverter 
internal.key.converter.schemas.enable=false 
internal.value.converter.schemas.enable=false 
key.converter=org.apache.kafka.connect.json.JsonConverter 
value.converter=org.apache.kafka.connect.json.JsonConverter 
plugin.path=c:\kafka_2.11-2.4.0\plugins
#If kafka is TLS authenticated, uncomment below lines.
#security.protocol=SSL 
#ssl.truststore.location=/tmp/kafka.client.truststore.jks
#producer.security.protocol=SSL
#producer.ssl.truststore.location=/tmp/kafka.client.truststore.jks

sqlserverconnector.properties

name=sql-server-connection
connector.class=io.debezium.connector.sqlserver.SqlServerConnector
database.hostname=localhost
database.port=1433
database.user=sa
database.password=Passw0rd
database.dbname=CDCTestDB
#database.server.name=<Assign any name>
#table.whitelist=<schema_name.table_name>
database.history.kafka.bootstrap.servers=localhost:9092
database.history.kafka.topic=test
#If kafka is TLS authenticated, uncomment below lines.
#database.history.producer.security.protocol=SSL
#database.history.producer.ssl.truststore.location=/tmp/kafka.client.truststore.jks

还为文件夹配置了 connect.standalone plugin.path 属性。

当我尝试使用以下命令运行连接器时

C:\kafka_2.11-2.4.0\bin\windows>独立连接 ../../config/worker.properties ../../config/sqlserverconnector.properties

我收到以下消息

 Failed to find any class that implements Connector and which name matches io.debezium.connector.sqlserver.SqlServerConnector 

complete error details in this image

如果我尝试使用以下命令运行 connect-standalone.sh,则会出现一个新的命令提示符窗口并且没有任何反应,它会在一段时间后关闭。

C:\kafka_2.11-2.4.0\bin>connect-standalone.sh ../config/worker.properties ../config/sqlserverconnector.properties

谁能帮我找出可能的问题并正确配置..

【问题讨论】:

  • 我尝试了链接中的选项,现在我的插件目录看起来像 C:\kafka_2.11-2.4.0\plugins\sqlserverconnectordirect,得到同样的错误
  • @MaheshGupta 你有什么发现吗?

标签: windows apache-kafka apache-kafka-connect debezium


【解决方案1】:

您不能将 Debezium 连接器 JAR 放到 plugins.dir 中,而是放到该目录的子目录中。所以如果 plugins.dir 是 c:\connect 那么你应该有 c:\connect\debezium-connector-sqlserver

【讨论】:

  • 即使配置正确,问题仍然存在。
猜你喜欢
  • 2020-03-14
  • 2017-09-01
  • 2019-09-02
  • 2019-01-17
  • 2023-01-24
  • 1970-01-01
  • 2019-04-24
  • 2020-04-27
  • 2021-12-15
相关资源
最近更新 更多