这是Elasticsearch(ES)的一种相当常见的情况:由于ES接近实时,因此我们希望将其与MySQL尽可能接近实时地同步。
初始表已导入索引,并且工作正常,但是现在我们需要跟踪新记录的插入,更新和删除,这是我们要解决的地方。导入由elasticsearch-jdbc导入器完成。它可以具有一个interval参数来定期轮询数据,但是:

  • 我们无法将字段添加到dbt,这将负责获取新的/更新的行
  • 我们希望有更多原子操作,例如DB插入行-> ES插入文档,DB更新行-> ES更新文档等等。

  • 可以满足我们需求的两种选择:
  • Logstash with logstash-input-jdbc plugin
  • Databus for MySQL from LinkedIn

  • 欢迎其他解决方案!

    最佳答案

    带logstash-input-jdbc插件的Logstash只能同步插入和更新操作。
    错误删除操作无法直接同步。
    我们讨论了更多有关如何将Mysql删除操作与logstash-input-jdbc同步的内容?在https://discuss.elastic.co/t/delete-elasticsearch-document-with-logstash-jdbc-input/47490/9中。

    09-11 01:26
    查看更多