elasticsearch与MySQL数据同步

匿名 (未验证) 提交于 2019-12-02 21:59:42

什么是Logstash
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集
起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件。
下载Logstash
解压,进入bin目录

stdin,表示输入流,指从键盘输入
stdout,表示输出流,指从显示器输出
命令行参数:
-e 执行

路径(如:/etc/logstash.d/,logstash会自动读取/etc/logstash.d/目录下所有*.conf 的文
本文件,然后在自己内存里拼接成一个完整的大配置文件再去执行
MySQL数据导入Elasticsearch
(1)在logstash-5.6.8安装目录下创建文件夹mysqletc (名称随意)
(2)文件夹下创建mysql.conf (名称随意) ,内容如

input {   jdbc { 	  # mysql jdbc connection string to our backup databse 	  jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/tensquare_article?characterEncoding=UTF8" 	  # the user we wish to excute our statement as 	  jdbc_user => "root" 	  jdbc_password => "root" 	  # the path to our downloaded jdbc driver   	  jdbc_driver_library => "E:\Tentimes\logstash-5.6.8\mysqletc\mysql-connector-java-5.1.46.jar" 	  # the name of the driver class for mysql 	  jdbc_driver_class => "com.mysql.jdbc.Driver" 	  jdbc_paging_enabled => "true" 	  jdbc_page_size => "50" 	  #以下对应着要执行的sql的绝对路径。 	  #statement_filepath => "" 	  statement => "SELECT id,title,content,state from tb_article" 	  #定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新(测试结果,不同的话请留言指出)       schedule => "* * * * *"   } }  output {   elasticsearch { 	  #ESIP地址与端口 	  hosts => "127.0.0.1:9200"  	  #ES索引名称(自己定义的) 	  index => "tensquare_article" 	  #自增ID编号 	  document_id => "%{id}" 	  document_type => "article"   }   stdout {       #以JSON格式输出       codec => json_lines   } }  

(3)将mysql驱动包mysql-connector-java-5.1.46.jar拷贝至E:\Tentimes\logstash-5.6.8\mysqletc\下 。
E:\Tentimes\logstash-5.6.8\mysqletc\是你的安装目录
命令行下执行

观察控制台输出,每间隔1分钟就执行一次sql查询会显示你查询的内容

文章来源: https://blog.csdn.net/link88889/article/details/86622624
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!