以前使用过mongo-connector 同步mongo 数据到es,但无法同步到mysql。

一、软件版本

mysql:5.7

mongo:3.2

logstash:5.4.0 (同ES版本)

二、相关依赖

输入插件:

logstash-jdbc-input 是Logstash提供的官方插件之一,该插件通过JDBC接口将任何数据库中的数据导入 Logstash。关于使用logstash-jdbc-input 插件从数据库中导出数据到es上,大部分是关于mysql数据库的导入

下载地址:https://dbschema.com/jdbc-drivers/MongoDbJdbcDriver.zip

(安装包里面包括三个jar包文件:gson-2.8.6.jar、mongo-java-driver-3.12.4.jar、mongojdbc3.1.jar)
将所有文件(即三个jar包)复制到(~/logstash-7.6.2/logstash-core/lib/jars/)目录(即你的logstash所在的安装目录

输出插件:

GitHub项目地址

logstash-output-jdbc  使用 bin/logstash-plugin install logstash-output-jdbc在您的logstash安装目录中运行 。

安装不成功  更换GemFIle 中的source 源为 "https://gems.ruby-china.com"

三、配置文件

3.1 input

input {jdbc {jdbc_driver_class => "com.dbschema.MongoJdbcDriver"# jar包的目录 指定刚刚下载的jar路径jdbc_driver_library => "logstash/logstash-core/lib/jars/mongojdbc2.1.jar"# mongo数据库对应的urijdbc_connection_string => "jdbc:mongodb://ip:27017/dbname"# 没有的话可以不填jdbc_user => ""# 这个不填jdbc_password => ""# 表示每分钟中执行一次,以实现实时同步的效果schedule => "* * * * *"# 实现增量同步的mongodb的查询语句  statement => "db.collectionName.find({'createTime':{ $gte: :sql_last_value}},{_id: 0})"# 保存上一次执行时间的文件last_run_metadata_path => "logstash/hisdata"}
}

在编写mongodb查询语句时我们需要注意,由于logstash无法识别mongodb中的 ObjectId类型,因此我们需要抛弃该字段,因此在find语句中我们设置_id:0,即表示不需要该字段
增量同步 :sql_last_value :logstash中提供的一个协助查询的时间参数,默认值是1970-01-01 08:00:00,数据类型是string,每次执行命令之后,该值会替换成执行命令时刻的时间

3.2 Filter

filter{ json{   source => "message"}
} 

filter部分主要是针对mongodb中的数据进行预处理,如果不需要进行预处理,这部分内容不必填写;filter 插件很多https://www.elastic.co/guide/en/logstash/current/filter-plugins.html

3.3 Output

output {stdout{     codec=>rubydebug{}}jdbc {#mysql-connector-java jar包路径。 我直接用hive带的 mysql-connector-java-5.1.46-bin.jardriver_jar_path => "jar/mysql-connector-java-5.1.46-bin.jar"driver_class => "com.mysql.jdbc.Driver"connection_string=>"jdbc:mysql://ip:3306/test? user=datag&password=yjkdatag&characterEncoding=UTF-8"statement => [ "INSERT INTO test (name, sex,goodscitys) VALUES(?, ? ,? )", "[document] [goodsId]", "[document][goodsUserLables]","[document][goodsCitys]"]" ]} } 

以上就是配置文件内容 mongo_mysql.conf

四、运行

bin/logstash -f mongo_mysql.conf

注意事项:

关于logstash Event 数据取值  Logstash的字段引用语法。访问字段的基本语法是[fieldname]。如果您指的是 顶级字段,则可以省略[]并简单地使用fieldname。要引用嵌套字段,请指定该字段的完整路径:[顶级字段][嵌套字段]。

有什么问题欢迎留言

参考链接:https://blog.csdn.net/FannieCream/article/details/107624147

logstash 同步mongo 数据到 mysql相关推荐

  1. sqlserver数据库同步更新数据到mysql数据库,利用ODBC

    项目要求SQLSERVER数据库增加数据的时候同步数据到mysql数据库. 这里用到了存储过程与触发器的混合使用. 因为要同步到MySQL数据库所以首先下载MySQL的ODBC驱动 ↓ https:/ ...

  2. es分页和mysql分页_用户logstash同步mysql数据到es中7.4.1版本以后输出的sql日志中没有分页信息...

    问题描述: 在使用logstash同步mysql数据库中的数据,在使用logstash7.4.1以前的版本,输出的sql日志如下: [2019-12-09T10:50:01,585][INFO ][l ...

  3. mysql语法错误文件_使用logstash同步MySQL的数据时,在jdbc查询sql文件时报sql语法错误,sql文件是navicat生成的...

    使用logstash同步MySQL的数据时,在jdbc查询sql文件时报sql语法错误,并且错误总是near在第1行,sql文件的编码是utf8mb64 ,不知道是否是编码问题 logstash配置j ...

  4. mysql多表同步es一个索引_使用 Logstash 同步多个数据表到 Elasticsearch 同一个索引 (Index)...

    最近使用了 ELK 做搜索,出报表,由于我们的业务数据很多,汇总起来有近 200 个字段,刚开始写了一个庞大的视图通过 Logstash 同步到 Elasticsearch,但是遇到了很多问题: 1. ...

  5. Logstash同步mysql数据

    Logstash同步mysql数据到ElasticSearch 1.安装logstash 下载logstash,解压压缩包 下载地址:https://www.elastic.co/downloads/ ...

  6. 使用Logstash同步MySQL数据库信息到ElasticSearch

    点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 转载自公众号:SpringForAll社区 关注我,回复口令获取可获取独家整理的学习资料: - 001 ...

  7. Logstash同步mysql一对多数据到ES(踩坑日记系列)

    场景: Logstash .Kibana.ES版本:6.3.1. 使用Logstash从mysql同步用户和用户所有的宠物到ES中. 希望的格式: "register_name": ...

  8. logstash同步数据到es

    1.下载 下载地址 https://www.elastic.co/cn/downloads/logstash 2.安装 解压即可 3.配置 有两种同步,一种是增量同步,增量同步则只同步两个数据库不同的 ...

  9. Logstash同步数据

    Logstash Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的"存储库"中.详细说明可以看官方文档. 下载地址 ...

最新文章

  1. citrix创建虚拟机服务器,在 ESXi 服务器上安装并配置 Citrix SD-WAN Center
  2. 『数据中心』降低PUE值4种方法
  3. 朝文夕拾系列II---横向型VS垂直型,我所知道的O2O
  4. Ubuntu中安装配置和卸载FTP(转)
  5. vasp软件_量子力学分子动力学软件包-VASP
  6. 多维数组的索引与切片_Numpy库使用入门(二)数据的索引和切片
  7. Mina学习之搭建项目工程目录
  8. 从小白到中级高级软件测试工程师成长路线!--(上篇)
  9. flask 请求上下文
  10. Kafka多数据中心部署灾备三要素
  11. 狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(1)
  12. 华为A1路由器虚拟服务器,华为a1路由器怎么设置
  13. 如何在Jetson NANO上安装无线WIFI模块
  14. 产品经理|需求分析(附《需求池表格》下载)
  15. pdf2htmlEX命令行参数大全
  16. 2-4 调整名字大小写
  17. 饿了么“盛夏之战”,背后的底气是什么? | 一点财经
  18. Python基础知识入门PartII
  19. word里双横线怎么打_字体下方的双横线怎么弄 word蓝色双横线
  20. 【文档】AOA-with-DW1000_V1.1

热门文章

  1. 2021-01-22 C#调用OpenCV开发美图工具
  2. python控制系统进程_python 监控windows进程
  3. 蓝桥杯31天冲刺之十 [java]
  4. 使用JavaScript备份QQ空间的留言板数据
  5. 程序员爱情+10年经验分享
  6. resume()方法负责恢复哪些线程
  7. matlab基带信号速率,深度剖析MATLAB信号处理仿真-基带脉冲成形
  8. sublime好用插件及其描述
  9. WebService接口登录验证代码生成调用
  10. (附源码)计算机毕业设计SSM流浪动物救助及领养平台