使用canal增量同步es数据到mysql,配置出现问题
elasticsearch8.7和kibana8.7启动成功了,现在我想用canal同步es数据到数据库,求解决。
mysql 8.0 , canal 1.1.7,es8.7,kiban8.7
canal.adapter启动的时候报错
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'es-mapping' to com.alibaba.otter.canal.client.adapter.es.core.config.ESSyncConfig$ESMapping。
下面是canal.adapter \conf\application.yml的配置
server:
port: 8081
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
default-property-inclusion: non_null
canal.conf:
mode: tcp #tcp kafka rocketMQ rabbitMQ
flatMessage: true
zookeeperHosts:
syncBatchSize: 1000
retries: -1
timeout:
accessKey:
secretKey:
consumerProperties:
# canal tcp consumer
canal.tcp.server.host: 127.0.0.1:11111
canal.tcp.zookeeper.hosts:
canal.tcp.batch.size: 500
canal.tcp.username:
canal.tcp.password:
# kafka consumer
kafka.bootstrap.servers: 127.0.0.1:9092
kafka.enable.auto.commit: false
kafka.auto.commit.interval.ms: 1000
kafka.auto.offset.reset: latest
kafka.request.timeout.ms: 40000
kafka.session.timeout.ms: 30000
kafka.isolation.level: read_committed
kafka.max.poll.records: 1000
# rocketMQ consumer
rocketmq.namespace:
rocketmq.namesrv.addr: 127.0.0.1:9876
rocketmq.batch.size: 1000
rocketmq.enable.message.trace: false
rocketmq.customized.trace.topic:
rocketmq.access.channel:
rocketmq.subscribe.filter:
# rabbitMQ consumer
rabbitmq.host:
rabbitmq.virtual.host:
rabbitmq.username:
rabbitmq.password:
rabbitmq.resource.ownerId:
srcDataSources:
defaultDS:
url: jdbc:mysql://127.0.0.1:3306/canal?useUnicode=true
username: root
password: root
properties:
jdbc.driverClassName: com.mysql.jdbc.Driver
canalAdapters:
- instance: example # canal instance Name or mq topic name
groups:
- groupId: g1
outerAdapters:
- name: logger
- name: es7
key: exampleKey
hosts: 127.0.0.1:9200 # 127.0.0.1:9200 for rest mode
properties:
mode: transport # or rest
# # security.auth: test:123456 # only used for rest mode
cluster.name: my-es
canal.adapter \conf\es7\mytest_user.yml的配置
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/213192368086151.png "#left")
dataSourceKey: defaultDS
outerAdapterKey: exampleKey # 对应application.yml中es配置的key
destination: example
groupId: g1
esMapping:
_index: rabbit-statis
_id: _id
sql: "select id as _id,project_name,class_name,show_num,refactor_path from statis"
commitBatch: 3000
下面是配置好的,但是es的数据同步不到数据库