V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SlipStupig
V2EX  ›  程序员

mongodb 同步到 elastic searh 的最佳方案是什么?

  •  
  •   SlipStupig · 2017-08-18 07:51:26 +08:00 · 5843 次点击
    这是一个创建于 2652 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有一个需求将 mongodb 的数据增量同步到 ES 里面,用 mongo-connector 各种崩溃,数据无法同步完全,有什么方案可以更稳定的同步吗?
    17 条回复    2017-08-18 22:22:16 +08:00
    Yuansir
        1
    Yuansir  
       2017-08-18 08:46:22 +08:00
    SlipStupig
        2
    SlipStupig  
    OP
       2017-08-18 09:39:58 +08:00
    @Yuansir ES 5.x Unsupport
    Morriaty
        3
    Morriaty  
       2017-08-18 09:42:18 +08:00
    崩溃指什么?
    SlipStupig
        4
    SlipStupig  
    OP
       2017-08-18 09:53:34 +08:00
    @Morriaty 老是出现一些莫名奇妙的错误,比如:有重复记录它就会退出,然后重新启动之后依然提示有重复记录
    Morriaty
        5
    Morriaty  
       2017-08-18 10:28:11 +08:00
    不是有 ignore error 的参数吗,还有,重复记录,应该是可以配置 upsert 的吧
    bengle
        6
    bengle  
       2017-08-18 10:48:41 +08:00
    mongodb 数据打到 kafka,kafka 再往 ES 打
    fzinfz
        7
    fzinfz  
       2017-08-18 11:52:14 +08:00 via iPad   ❤️ 1
    https://github.com/phutchins/logstash-input-mongodb
    没用过,不过作为一款插件应该比较稳定吧
    finull
        8
    finull  
       2017-08-18 12:17:23 +08:00
    river 现在都不支持了,现在就是 logstash
    官方支持吧
    SlipStupig
        9
    SlipStupig  
    OP
       2017-08-18 14:08:01 +08:00
    @bengle 这样有点绕吧....
    @Morriaty 用哪个参数,主要是 mongo-connector 连个 help 都没有
    hcymk2
        10
    hcymk2  
       2017-08-18 14:14:29 +08:00
    @SlipStupig
    其实也不算绕, 而且有现成的轮子可以用。
    https://github.com/confluentinc
    SlipStupig
        11
    SlipStupig  
    OP
       2017-08-18 17:34:06 +08:00
    @hcymk2 那我怎么把数据从 mongo 弄到 kafka 呢?
    scriptB0y
        12
    scriptB0y  
       2017-08-18 17:40:12 +08:00
    写个程序一条一条 post 不行吗?
    rayingecho
        13
    rayingecho  
       2017-08-18 18:06:30 +08:00
    楼上已经有大佬说了 Confluent Plantform,我来补充一个 Connector:
    Debezium http://debezium.io/docs/connectors/mongodb/
    实时抓取数据源变更到 Kafka,支持 MySQL, PostgreSQL, Mongo
    sxw11
        14
    sxw11  
       2017-08-18 18:22:00 +08:00   ❤️ 1
    今天刚搞完 NLog->Redis->ELK 的日志系统
    楼主可以用 https://github.com/phutchins/logstash-input-mongodb 搭配 logstash 配置很简单
    qiyuey
        15
    qiyuey  
       2017-08-18 18:28:44 +08:00
    MySQL 的同步方案是:binlog -> databus -> kafka -> es
    popbones
        16
    popbones  
       2017-08-18 19:53:24 +08:00 via iPhone
    前阵子也有类似需求,懒得研究 mongoconnector,最后用 golong rachet 写了一个,读取和写入都很简单,主要是写写 transformation
    mengskysama
        17
    mengskysama  
       2017-08-18 22:22:16 +08:00   ❤️ 1
    完全可以自己造,这个代码不会超过 50 行,从 mgo 取数据_bulk 往 es 里面塞就行了,另 logstash 性能是几个采集工具性能最糟糕的,现在新的系统基本上都是 fluentd。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   968 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:00 · PVG 05:00 · LAX 13:00 · JFK 16:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.