如何在Kafka中删除io.debezium.connector.mysql.MySqlConnector插件
Kafka Connect 插件移除指南
首先,你通过以下命令获取了当前已加载的Kafka Connect插件列表:
curl localhost:8083/connector-plugins
返回的插件列表(格式化后)如下:
[ { "class": "io.confluent.connect.activemq.ActiveMQSourceConnector", "type": "source", "version": "4.1.0" }, { "class": "io.confluent.connect.elasticsearch.ElasticsearchSinkConnector", "type": "sink", "version": "4.1.0" }, { "class": "io.confluent.connect.hdfs.HdfsSinkConnector", "type": "sink", "version": "4.1.0" }, { "class": "io.confluent.connect.hdfs.tools.SchemaSourceConnector", "type": "source", "version": "1.1.0-cp1" }, { "class": "io.confluent.connect.ibm.mq.IbmMQSourceConnector", "type": "source", "version": "4.1.0" }, { "class": "io.confluent.connect.jdbc.JdbcSinkConnector", "type": "sink", "version": "4.1.0" }, { "class": "io.confluent.connect.jdbc.JdbcSourceConnector", "type": "source", "version": "4.1.0" }, { "class": "io.confluent.connect.jms.JmsSourceConnector", "type": "source", "version": "4.1.0" }, { "class": "io.confluent.connect.replicator.ReplicatorSourceConnector", "type": "source", "version": "4.1.0" }, { "class": "io.confluent.connect.s3.S3SinkConnector", "type": "sink", "version": "4.1.0" }, { "class": "io.confluent.connect.storage.tools.SchemaSourceConnector", "type": "source", "version": "1.1.0-cp1" }, { "class": "io.debezium.connector.mysql.MySqlConnector", "type": "source", "version": "0.7.5" }, { "class": "org.apache.kafka.connect.file.FileStreamSinkConnector", "type": "sink", "version": "1.1.0-cp1" }, { "class": "org.apache.kafka.connect.file.FileStreamSourceConnector", "type": "source", "version": "1.1.0-cp1" } ]
现在你想移除io.debezium.connector.mysql.MySqlConnector这个插件,需要注意:Kafka Connect没有提供REST API直接删除插件,你得通过以下手动步骤完成:
- 第一步:停止所有Kafka Connect节点服务
根据你的部署方式执行对应命令,比如用systemd管理的话可以运行systemctl stop confluent-connect,或者直接终止进程。 - 第二步:移除插件的jar包
找到Kafka Connect配置中plugin.path指定的目录(默认可能是share/java下的子目录,或是你自定义的插件目录),找到包含Debezium MySQL Connector的所有jar文件并删除——通常这个插件的文件会放在单独的子目录(比如debezium-connector-mysql),直接删除整个目录更高效。 - 第三步:重启Kafka Connect服务
启动所有Connect节点,比如执行systemctl start confluent-connect。 - 第四步:验证移除结果
再次运行curl localhost:8083/connector-plugins,检查返回列表中是否已经没有io.debezium.connector.mysql.MySqlConnector的条目。
另外要注意:如果之前用这个插件创建过Connector实例,记得先通过REST API删除这些实例,避免重启后出现错误:
curl -X DELETE localhost:8083/connectors/{your-mysql-connector-name}
把{your-mysql-connector-name}替换为你实际的Connector实例名称即可。
内容的提问来源于stack exchange,提问作者Giorgos Myrianthous
相关产品推荐
相关产品推荐

