分布式搜索引擎Elasticsearch与MySQL数据同步(五)

继上篇文章:分布式搜索引擎ElasticSearch之搜索微服务开发(四)

1 Logstash

1.1、什么是Logstash

Logstash 是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集
起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件。
1.2 Logstash 安装与测试
    链接:https://pan.baidu.com/s/1XZjoL-zedy9aC655Bd8gMQ 
    提取码:mudk
    解压,进入 bin 目录
分布式搜索引擎Elasticsearch与MySQL数据同步(五)_第1张图片

 

输入一下命令启动:

logstash -e 'input { stdin { } } output { stdout {} }'

启动后,控制台输入字符,随后就有日志输出 

分布式搜索引擎Elasticsearch与MySQL数据同步(五)_第2张图片

stdin ,表示输入流,指从键盘输入
stdout ,表示输出流,指从显示器输出
命令行参数 :
-e 执行
--config -f 配置文件,后跟参数类型可以是一个字符串的配置或全路径文件名或全路径 路径( 如: /etc/logstash.d/ logstash 会自动读取 /etc/logstash.d/ 目录下所有 *.conf 的文 本文件,然后在自己内存里拼接成一个完整的大配置文件再去执行)

2、MySQL数据导入Elasticsearch

1 )在 logstash-5.6.8 安装目录下创建文件夹 mysqletc (名称随意)
分布式搜索引擎Elasticsearch与MySQL数据同步(五)_第3张图片

(2)文件夹下创建mysql.conf (名称随意) 
分布式搜索引擎Elasticsearch与MySQL数据同步(五)_第4张图片

mysql.conf 内容如下:

input {
  jdbc {
	  # mysql jdbc connection string to our backup databse
	  jdbc_connection_string => "jdbc:mysql://192.168.63.131: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 => "D:\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 => "zhao588_article"
	  #自增ID编号
	  document_id => "%{id}"
	  document_type => "article"
  }
  stdout {
      #以JSON格式输出
      codec => json_lines
  }
}
(3)将 mysql 驱动包 mysql-connector-java-5.1.46.jar 拷贝至 D:/logstash-
         5.6.8/mysqletc/ 下 。 D:/logstash-5.6.8 是你的安装目录
        链接:https://pan.baidu.com/s/1sDP_giwwye_8CvR3V5jLEQ 
        提取码:mhem
(4)命令行下执行
logstash -f ../mysqletc/mysql.conf
分布式搜索引擎Elasticsearch与MySQL数据同步(五)_第5张图片

一分钟后,MySQLElasticsearch同步到同步成功

分布式搜索引擎Elasticsearch与MySQL数据同步(五)_第6张图片再次刷新elasticsearch-head的数据显示,看是否也更新了数据。 已成功!!!分布式搜索引擎Elasticsearch与MySQL数据同步(五)_第7张图片

继下篇文章:分布式搜索引Elasticsearch 之Docker环境下安装(六)

你可能感兴趣的:(Elasticsearch,Mysql,Logstash)