mysql通过logstash同步数据到es

大小写问题很严重

input

1.statement:mysql的连接使用  jdk版本有强要求
2.jdbc_driver_library:jar包的版本有对应要求
3.jdbc_driver_class:导包路径不同版本有不同写法
4.schedule: 定时加/是指每分钟或每小时或每天  不加是指每分钟的第几秒 每小时的第几分
5.tracking_column_type;sq语句追踪的字段类型 只有时间和数字两种
6.jdbc_default_timezone:时区
7.jdbc_paging_enabled:分页查询
8:tracking_column:增量追踪的字段(小写)
9:record_last_run:是否记录上次执行结果 是
10:last_run_metadata_path:增量日志的存储位置
11: use_column_value => true:设置为时true,将定义的  tracking_column值用作:sql_last_value。设置为时false,:sql_last_value反映上一次执行查询的时间。

output

	1.elasticsearch:es的通道
		1.host:es的ip地址	
		2.index:索引名称(要和mapping中的对应)
		3.template:自定义maping的位置

logstash 启动问题

1:启动语句
	/bin/logstash ?-f 010.conf ?  (原始启动语句)
	/bin/logstash ?-f 010.conf ?--path.data=/home/  加上--path.data 指定数据存储的位置(多个conf文件运行的语句)
	在filter中包含aggregate时限制进程数量 在启动语句中增加参数 -w 1
2:多个conf文件同时运行,创建多个管道 在pipelines.yml文件中
Pipelines
- pipeline.id: main
  path.config: "/etc/logstash/conf.d/*.conf"
- pipeline.id: krtest
  path.config: "/etc/logstash/myconf.d/krtest.conf"
其中 pipeline.id 为 main 的管道是默认的配置,我们新添加了 id 为 krtest 的管道并指定了对应的配置文件路径。启动 Logstash,如果你安装的 X-Pack 插件就可以在 Kibana->Monitoring->Logstash 中看到新添加的名称为 krtest 的管道:
3.当启动出现时区错去:
	在sq的url后面加上  &serverTimezone=GMT  
4.启动后不报错 也不同步数据  只显示select cersion()
	--config.reload.automatic
5.启动的太慢 系统单熵值低于1000 
	[https://www.jianshu.com/p/8ffc521fc3ed](https://www.jianshu.com/p/8ffc521fc3ed)
	根据提示进行安装
6.清空日志文件
	> a_out

增量数据问题

1.由于设置了Logstash 增量更新, 必须要使用 `update_time>:sql_last_value and update_time<GETDATE()`这种限制条件,这样才可以保证数据不丢失也不重复
2.logstash 增量处理解说网址:https://juejin.im/post/6844903877352013832
posted @ 2021-10-08 11:35  没头发就没烦恼  阅读(402)  评论(0)    收藏  举报