MySQL数据以全量和增量方式,同步到ES搜索引擎
程序员文章站
2023-11-13 23:32:10
本文源码: "GitHub·点这里" || "GitEE·点这里" 一、配置详解 场景描述:MySQL数据表以全量和增量的方式向ElasticSearch搜索引擎同步。 1、下载内容 elasticsearch 版本 6.3.2 logstash 版本 6.3.2 mysql connector j ......
本文源码:github·点这里 || gitee·点这里
一、配置详解
场景描述:mysql数据表以全量和增量的方式向elasticsearch搜索引擎同步。
1、下载内容
- elasticsearch 版本 6.3.2
- logstash 版本 6.3.2
- mysql-connector-java-5.1.13.jar
2、核心配置
- 路径:/usr/local/logstash
- 新建配置目录:sync-config
1)、配置全文
/usr/local/logstash/sync-config/cicadaes.conf
input { stdin {} jdbc { jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/cicada?characterencoding=utf8" jdbc_user => "root" jdbc_password => "root123" jdbc_driver_library => "/usr/local/logstash/sync-config/mysql-connector-java-5.1.13.jar" jdbc_driver_class => "com.mysql.jdbc.driver" jdbc_paging_enabled => "true" jdbc_page_size => "50000" jdbc_default_timezone => "asia/shanghai" statement_filepath => "/usr/local/logstash/sync-config/user_sql.sql" schedule => "* * * * *" type => "user" lowercase_column_names => false record_last_run => true use_column_value => true tracking_column => "updatetime" tracking_column_type => "timestamp" last_run_metadata_path => "/usr/local/logstash/sync-config/user_last_time" clean_run => false } jdbc { jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/cicada?characterencoding=utf8" jdbc_user => "root" jdbc_password => "root123" jdbc_driver_library => "/usr/local/logstash/sync-config/mysql-connector-java-5.1.13.jar" jdbc_driver_class => "com.mysql.jdbc.driver" jdbc_paging_enabled => "true" jdbc_page_size => "50000" jdbc_default_timezone => "asia/shanghai" statement_filepath => "/usr/local/logstash/sync-config/log_sql.sql" schedule => "* * * * *" type => "log" lowercase_column_names => false record_last_run => true use_column_value => true tracking_column => "updatetime" tracking_column_type => "timestamp" last_run_metadata_path => "/usr/local/logstash/sync-config/log_last_time" clean_run => false } } filter { json { source => "message" remove_field => ["message"] } } output { if [type] == "user" { elasticsearch { hosts => ["127.0.0.1:9200"] index => "cicada_user_search" document_type => "user_search_index" } } if [type] == "log" { elasticsearch { hosts => ["127.0.0.1:9200"] index => "cicada_log_search" document_type => "log_search_index" } } }
2)、sql文件
- user_sql.sql
select id, user_name username, user_phone userphone, create_time createtime, update_time updatetime from c_user where update_time > : sql_last_value
- log_sql.sql
select id, param_value paramvalue, request_ip requestip, create_time createtime, update_time updatetime from c_log where update_time > : sql_last_value
3)、配置参数说明
- input参数
statement_filepath:读取sql语句位置 schedule :这里配置每分钟执行一次 type :类型,写入es的标识 lowercase_column_names :字段是否转小写 record_last_run :记录上次执行时间 use_column_value :使用列的值 tracking_column :根据写入es的updatetime字段区分增量数据 tracking_column_type :区分的字段类型
- output参数
hosts :es服务地址 index :index名称,类比理解数据库名称 document_type :type名称,类比理解表名称
3、启动进程
/usr/local/logstash/bin/logstash -f /usr/local/logstash/sync-config/cicadaes.conf
二、es客户端工具
1、下载软件
kibana-6.3.2-windows-x86_64
2、修改配置
kibana-6.3.2-windows-x86_64\config\kibana.yml
添加配置:
elasticsearch.url: "http://127.0.0.1:9200"
3、双击启动
kibana-6.3.2-windows-x86_64\bin\kibana.bat
4、访问地址
http://localhost:5601
三、源代码地址
github·地址 https://github.com/cicadasmile/linux-system-base gitee·地址 https://gitee.com/cicadasmile/linux-system-base
上一篇: 企业网站建设教程:自己怎么建网站
下一篇: 矩阵乘法(七):其它一些典型应用