ticdc 如何 同步tidb的数据 到elastic search

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.1.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】ticdc 如何 同步tidb的数据 到elastic search? 看官方文档只有同步mysql和kafka的,可以直接支持同步es吗

一种常见的方法是使用TiCDC将TiDB的增量数据同步到Kafka,然后使用Kafka Connect的Elasticsearch插件将数据从Kafka写入Elasticsearch。这种方式可以借助Kafka Connect的插件生态系统,实现将数据从Kafka流式传输到Elasticsearch的功能。

以下是一个简单的步骤示例:

  1. 首先,使用TiCDC将TiDB的增量数据同步到Kafka。您可以按照官方文档中的步骤配置和启动TiCDC,将数据写入Kafka主题。
  2. 然后,使用Kafka Connect的Elasticsearch插件将数据从Kafka写入Elasticsearch。您需要安装和配置Kafka Connect,并将Elasticsearch插件添加到Kafka Connect的插件目录中。然后,创建一个Kafka Connect的配置文件,指定Kafka主题作为数据源,将数据写入Elasticsearch。
  3. 启动Kafka Connect,并使用上述配置文件启动Elasticsearch连接器。连接器将会从Kafka主题读取数据,并将其写入Elasticsearch。

通过这种方式,您可以将TiDB的增量数据通过TiCDC和Kafka Connect传输到Elasticsearch,实现数据的同步。

感谢回复。这个方法我倒是知道。我想了解有那种直通es的方法嘛?

暂时没有直接同步的方法。只能曲线救国:ticdc → kafka-> es

可以试试canal cloud

1 个赞

不能直接到ES的,数据格式不一样

目前是没有的,只能通过代码消费binlog写入

可以用kafka,使用longstash消费到ES

用java读出来,然后写进去,算直通么

这个思路有趣,得了elk的真传

要有个转换的中间过程

这种方式最稳,调用 kafka-connect-elasticsearch

可以使用kafka去同步