栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL数据多个表导入到elasticsearch

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL数据多个表导入到elasticsearch

大多数情况下我们的数据都存放在了数据库中,
但是elasticsearch它有自己的索引库,那么如果我们在做搜索的是时候就需要将数据库中的数据同步到elasticsearch中
在这里我们使用logstash的logstash-jdbc-input的插件进行与数据库的同步,对于logstash与数据库同步,我们可以设置elasticsearch与数据库同步的时间,使用这种方式进行同步还是很方便的。

先下载logstash
这个就官网下载就行了

然后下载驱动
这个在MySQL官网就可以下载
mysql-connector-java-8.0.17.jar
重点是写logstash配置文件

多个表 对应 多个索引 多个jdbc 多个type

input {
    jdbc {
        jdbc_connection_string => "jdbc:mysql://localhost:3306/ops_admin"
        jdbc_user => "账号"
        jdbc_password => "密码"
        jdbc_driver_library => "/usr/local/drive/mysql-connector-java-8.0.17.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_paging_enabled => "true" # 这个地方管是否分页的
        jdbc_page_size => "50000" # 一次分多少 ,太大的必须分页
        statement => "select * from 表名"
        schedule => "* * * * *"
        type => "type1"
    }
     jdbc {
        jdbc_connection_string => "jdbc:mysql://localhost:3306/ops_admin"
        jdbc_user => "xxx"
        jdbc_password => "xxx"
        jdbc_driver_library => "/usr/local/drive/mysql-connector-java-8.0.17.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
        statement => "select * from 表名"
        schedule => "* * * * *"
        type => "type2"
    }
}
output {
    if[type] == "type1" {
        elasticsearch {
            hosts => ["172.25.16.240:9200"]
            index => "index_索引名"
        }
    }
    if[type] == "type2" {
        elasticsearch {
            hosts => ["172.25.16.240:9200"]
            index => "index_索引名"
        }
    }
}

然后就可以启动他了

logstash -f ../mysql/mysql.conf

还有一点 他也可以是sql文件 ,但是这个地方要改成

statement_filepath => "jdbc.sql"
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749318.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号