我是debezium的新手,我正在尝试将我的kafka连接器连接到本地WAMP服务器上已经存在的MySQL数据库。
我根据教程文档启动了 zookeeper 和 kafka,然后启动了 kafka 连接器。在我的邮递员中,我将以下 JSON 发送到我的 kafka 连接器,但我不断收到错误的请求响应。
启动动物园
docker run -it --rm --name zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 debezium/zookeeper:0.7
启动卡夫卡
docker run -it --rm --name kafka -p 9092:9092 --link zookeeper:zookeeper debezium/kafka:0.7
启动卡夫卡连接器
docker run -it --rm --name connect -p 8083:8083 -e GROUP_ID=1 -e CONFIG_STORAGE_TOPIC=my_connect_configs -e OFFSET_STORAGE_TOPIC=my_connect_offsets --link zookeeper:zookeeper --link kafka:kafka debezium/connect:0.7
使用我的邮递员,我发送了以下内容
{ "name": "shopcentra-connector", "config": { "connector.class": "io.debezium.connector.mysql.MySqlConnector", "tasks.max": "1", "database.hostname": "127.0.0.1", "database.port": "3306", "database.user": "root", "database.password": "root", "database.server.id": "5444", "database.server.name": "shopcentra", "database.whitelist": "shopcentra", "database.history.kafka.bootstrap.servers": "kafka:9092", "database.history.kafka.topic": "dbhistory.shopcentra", "include.schema.changes": "true" } }
我的不良反应
{
"error_code": 400,
"message": "Connector configuration is invalid and contains the following 1 error(s):nUnable to connect: Communications link failurennThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.nYou can also find the above list of errors at the endpoint `/{connectorType}/config/validate`"
}
如果您使用的是 Docker,则可以使用预配置的 MySQL 映像 debezium/example-mysql。或者,请确保使用被授予适当权限的用户配置实例:
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'debezium' IDENTIFIED BY 'dbz';
然后每个数据库也是如此:
`GRANT ALL PRIVILEGES ON demo.* TO 'debezium'@'%';`