logstash同步mysql到es 配置

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/vitaair/article/details/79911194
0. 准备MySQL的驱动
下载并拷贝mysql-connector-java-5.1.44-bin.jar到"/Elastic/logstash-6.0.0-beta2/lib/mysqldriver/mysql-connector-java-5.1.44-bin.jar"


1. logstash配置文件 mysql.conf
input {
    jdbc {
        jdbc_driver_library => "/Elastic/logstash-6.0.0-beta2/lib/mysqldriver/mysql-connector-java-5.1.44-bin.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://es:3306/forelk?autoReconnect=true&useSSL=false"
        jdbc_user => "root"
        jdbc_password => "root"
        schedule => "* * * * *"
        jdbc_default_timezone => "Asia/Shanghai"
        statement => "SELECT * FROM elktable;"
    }
}
output {
    elasticsearch {
        index => "elkdb"
        document_type => "elktable"
        document_id => "%{elkid}"
        hosts => ["es:9200"]
    }
}


2. 参数配置说明:
dbc_driver_library:
数据库驱动路径,这里我填写的是绝对路径,可自行尝试相对路径;


jdbc_driver_class:
驱动名称;


jdbc_connection_string:
数据库的连接字符串;
forelk为数据库名;
?autoReconnect=true&useSSL=false自动重连并禁用SSL;


jdbc_user:
数据库用户名;


jdbc_password:
数据库密码;


schedule:
重复执行导入任务的时间间隔;


jdbc_default_timezone:
默认时区设置;


statement:
导入的表(查询SQL,可以过滤数据)


index:
索引名称(类似数据库名称);


document_type:
类型名称(类似数据库表名);


document_id:
类似主键;


hosts:
要导入到的Elasticsearch所在的主机;


3. 执行导入
cd bin
./logstash -f mysql.conf


4.执行查询
http://es:5601 ->Dev Tools -> GET elkdb/_search


5.准备mysql数据,建库forelk 建表elktable
CREATE DATABASE `forelk` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;


CREATE TABLE `elktable` (
  `elkid` int(11) NOT NULL,
  `elkname` varchar(45) COLLATE utf8_bin DEFAULT NULL,
  `elkage` int(11) DEFAULT NULL,
  `elksex` tinyint(4) DEFAULT NULL,
  `elkbirth` date DEFAULT NULL,
  PRIMARY KEY (`elkid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


INSERT INTO `forelk`.`elktable`
(`elkid`,
`elkname`,
`elkage`,
`elksex`,
`elkbirth`)
VALUES
(111,
aa,
11,
1,
2006);


INSERT INTO `forelk`.`elktable`
(`elkid`,
`elkname`,
`elkage`,
`elksex`,
`elkbirth`)
VALUES
(222,
bb,
22,
0,
1995);



展开阅读全文

没有更多推荐了,返回首页