将mongodb中的数据同步到Elasticsearch中

1,426 阅读1分钟

将mongodb中的数据同步到Elasticsearch中

需要的支持

  1. mongodb
  2. Elasticsearch Elasticsearch需要5.x或更低版本,mongo-connector最高支持5.x
  3. mongo-connector

部署过程

提示:以下所有工具的安装不再赘述

mongodb设置副本集

指定副本集

  1. 关闭正在运行的mongodb服务器
  2. 通过指定--replSet来启动mongodb,语法格式如下
    mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"

初始化副本集

  1. 通过mongo命令进入mongoshell
  2. 执行命令rs.initiate()
  3. 通过命令rs.status()查看副本集状态

可能出现错误

Address alreadu in use

如果是通过brew安装的mongodb,可能mongodb已经自动运行在后台,可以通过brew services stop mongodb停止后台运行的mongodb

通过mongo-connector同步数据

同步数据

    mongo-connector -m 127.0.0.1:27017 -t 127.0.0.1:9200 -d elastic_doc_manager

可能出现问题

OplogThread: Failed during dump collection cannot recover

mac系统下通过cmd+空格聚焦搜索查找oplog.timestamp删除后重试命令