logstash 同步mongo 数据到 mysql
以前使用过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相关推荐
- sqlserver数据库同步更新数据到mysql数据库,利用ODBC
项目要求SQLSERVER数据库增加数据的时候同步数据到mysql数据库. 这里用到了存储过程与触发器的混合使用. 因为要同步到MySQL数据库所以首先下载MySQL的ODBC驱动 ↓ https:/ ...
- es分页和mysql分页_用户logstash同步mysql数据到es中7.4.1版本以后输出的sql日志中没有分页信息...
问题描述: 在使用logstash同步mysql数据库中的数据,在使用logstash7.4.1以前的版本,输出的sql日志如下: [2019-12-09T10:50:01,585][INFO ][l ...
- mysql语法错误文件_使用logstash同步MySQL的数据时,在jdbc查询sql文件时报sql语法错误,sql文件是navicat生成的...
使用logstash同步MySQL的数据时,在jdbc查询sql文件时报sql语法错误,并且错误总是near在第1行,sql文件的编码是utf8mb64 ,不知道是否是编码问题 logstash配置j ...
- mysql多表同步es一个索引_使用 Logstash 同步多个数据表到 Elasticsearch 同一个索引 (Index)...
最近使用了 ELK 做搜索,出报表,由于我们的业务数据很多,汇总起来有近 200 个字段,刚开始写了一个庞大的视图通过 Logstash 同步到 Elasticsearch,但是遇到了很多问题: 1. ...
- Logstash同步mysql数据
Logstash同步mysql数据到ElasticSearch 1.安装logstash 下载logstash,解压压缩包 下载地址:https://www.elastic.co/downloads/ ...
- 使用Logstash同步MySQL数据库信息到ElasticSearch
点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 转载自公众号:SpringForAll社区 关注我,回复口令获取可获取独家整理的学习资料: - 001 ...
- Logstash同步mysql一对多数据到ES(踩坑日记系列)
场景: Logstash .Kibana.ES版本:6.3.1. 使用Logstash从mysql同步用户和用户所有的宠物到ES中. 希望的格式: "register_name": ...
- logstash同步数据到es
1.下载 下载地址 https://www.elastic.co/cn/downloads/logstash 2.安装 解压即可 3.配置 有两种同步,一种是增量同步,增量同步则只同步两个数据库不同的 ...
- Logstash同步数据
Logstash Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的"存储库"中.详细说明可以看官方文档. 下载地址 ...
最新文章
- citrix创建虚拟机服务器,在 ESXi 服务器上安装并配置 Citrix SD-WAN Center
- 『数据中心』降低PUE值4种方法
- 朝文夕拾系列II---横向型VS垂直型,我所知道的O2O
- Ubuntu中安装配置和卸载FTP(转)
- vasp软件_量子力学分子动力学软件包-VASP
- 多维数组的索引与切片_Numpy库使用入门(二)数据的索引和切片
- Mina学习之搭建项目工程目录
- 从小白到中级高级软件测试工程师成长路线!--(上篇)
- flask 请求上下文
- Kafka多数据中心部署灾备三要素
- 狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(1)
- 华为A1路由器虚拟服务器,华为a1路由器怎么设置
- 如何在Jetson NANO上安装无线WIFI模块
- 产品经理|需求分析(附《需求池表格》下载)
- pdf2htmlEX命令行参数大全
- 2-4 调整名字大小写
- 饿了么“盛夏之战”,背后的底气是什么? | 一点财经
- Python基础知识入门PartII
- word里双横线怎么打_字体下方的双横线怎么弄 word蓝色双横线
- 【文档】AOA-with-DW1000_V1.1