文章目录
一、准备工作
1、安装elasticSearch+kibana
我们此处用的es和kibana版本是7.4.0
版本的。
docker安装elasticSearch+kibana
2、安装MySQL
3、安装Logstash
logstash就是一个具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以根据自己的需求在inuput --output中间加上滤网,Logstash内置了几十种插件,可以满足各种应用场景。
logstash官方插件 logstash-input-jdbc
集成在logstash(5.X之后)中,通过配置文件实现mysql与elasticsearch数据同步。
能实现mysql数据全量和增量的数据同步,且能实现定时同步。
# 拉取logstach
docker pull logstash:8.5.2
二、全量同步
全量同步是指全部将数据同步到es,通常是刚建立es,第一次同步时使用。
1、准备MySQL数据与表
CREATE TABLE `product` (
`id` int NOT NULL COMMENT 'id',
`name` varchar(255) DEFAULT NULL,
`price` decimal(10,2) DEFAULT NULL,
`create_at` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
INSERT INTO `shop`.`product`(`id`, `name`, `price`, `create_at`) VALUES (1, '小米手机', 33.00, '1');
INSERT INTO `shop`.`product`(`id`, `