业务中遇到一起商务结算的大量数据(3亿)业务,需要查询响应能快,准备动用ES,这里先完成一个初级作业。

Mysql容易搭建,这里不作复述。

需要个ES-kibana的环境,从系统开始搭建过程太冗长,这里继续享受docker。 windows环境的docker怎么配置,windows环境下 docker部署:

Windows使用WSL2安装Docker​www.jianshu.com

推荐一个镜像,包含了kibana:elasticsearch-kibana

拉取改镜像:docker pull nshou/elasticsearch-kibana

启动该镜像:docker run -d -p 9200:9200 -p 5601:5601 nshou/elasticsearch-kibana

其中 9200是ES的端口,5601是kibana的端口。

容器内运行成功:

http://127.0.0.1:9200/ 有如下内容说明ES启动正常:

http://localhost:5601/app/kibana#/home 有如下内容说明kibana启动正常:

同步使用logstash-input-jdbc,其中遇到一堆坑,主要参照如下:

https://blog.csdn.net/qq_16436555/article/details/91360718

https://www.elastic.co/guide/en/logstash/current/index.html

https://www.elastic.co/cn/blog/logstash-jdbc-input-plugin

https://www.cnblogs.com/wueryuan/p/13226469.html

为调试方便,把logstash装在win环境里:

1、先下载https://artifacts.elastic.co/downloads/logstash/logstash-7.8.0.zip

2、在bin路径下面执行命令logstash-plugin.bat install logstash-input-jdbc 安装。比如C:eslogstash-7.8.0bin 中间如果遇到java找不到,就在setup.bat首行加路径,比如SET JAVA_HOME=C:Program FilesJavajdk1.8.0_251

3、bin路径下面建文件夹sync-conf,这个里面又同步sql文件和配置文件,只要路径对,放哪里都可以,这里已bin下作示例:

4、内包含如下文件:

5、关键的配置文件sync.conf在启动命令行中需要用到:

如果数据库中的字段类型是json或string类型,但其中是json结构体,可以通过如下filter同步至es,直接变成结构体:

filter {json {source => "extcol"target => "extcol_obj"remove_field => ["extcol"]}}

其中extcol是string字段名。

logstash 支持秒级 :下面是每5秒同步一次

schedule => "*/5 * * * * *"

这里使用一个简单的Mysql数据做同步源头,上图中选中部分。

6、sync.sql里放置数据查询语句,这里可以写的非常复杂,可以联查,作为示例简单处理:

7、启动同步,在bin目录下,命令行为 .logstash.bat -f sync-confsync.conf

周期性刷新数据说明启动运行正常:

实际效果很明显:

首先查询数据库里的数据:

查询ES中的数据,内容一致:

更新数据库内的数据,查询ES中的数据,数据保持同步。

至此Mysql向ES的最基本的数据同步已实现。

转载请注明出处。

微服务拆分方法论请移步:

丁云:奇技淫巧之CQRS:系统微服务拆分时的数据解耦​zhuanlan.zhihu.com

JDBC SQL 如何操作 ES,请移步:

丁云:X-PACK JDBC连接ElasticSearch Docker图文版​zhuanlan.zhihu.com

Mycat对Mysql分片分库请移步:

丁云:Mycat 一致性hash分库(Mysql)​zhuanlan.zhihu.com

docker logstash_Mysql 同步数据到 Elasticserach(使用logstash-input-jdbc)相关推荐

  1. Spring Boot(九):整合elasticsearch并使用logstash同步数据

    一到周末,就想在家里躺尸,逛逛B站,看看直播,打打游戏,美哉美哉.当然,作为一名有自我修养的程序员,学习也是必不可少的.前段时间,我司的另一个项目组接手的项目中用到了elasticsearch,我就查 ...

  2. Logstash同步数据

    Logstash Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的"存储库"中.详细说明可以看官方文档. 下载地址 ...

  3. docker删除es数据_Docker的常用命令

    Docker的常用命令 docker version#显示docker的版本信息 docker info#显示docker的系统信息,包括镜像和容器的数量 docker --help#docker帮助 ...

  4. Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash+Filebeat)

    ELK是由 Elasticsearch.Logstash和Kibana 三部分组件组成. Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副 ...

  5. Docker Swarm bind 数据持久化

    Docker Swarm bind 数据持久化 bind:主要将工作节点宿主级文件或目录,同步挂载到容器中. 环境: 系统:Centos 7.4 x64 应用版本:Docker 18.09.0 管理节 ...

  6. Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash)

    Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...

  7. docker学习5--docker数据卷(volume)

    https://blog.csdn.net/dream_broken/article/details/52314993 1.什么是数据卷volume 为了了解什么是Docker Volume,首先我们 ...

  8. docker 空间满数据迁移笔记

    docker默认数据存放路径是 /var/lib/docker,df -h 查看var挂载目录 所分配空间过小,所以想把docker目录迁移到 目录/home/ 大空间下: 01. df -h 查看磁 ...

  9. Linux中的Docker容器的数据卷

    一.数据卷的概念 1.数据卷是宿主机中的一个目录或者文件 2.当容器目录和数据卷目录绑定后,对方的修改会立即同步 3.一个数据卷可以被多个容器同时挂载 4.一个容器也可以挂载多个数据卷 二.数据卷的作 ...

最新文章

  1. 近期活动盘点:清华严飞大数据探寻中国文脉讲座、2019前沿信息科技创新论坛...
  2. error LNK2001: 无法解析的外部符号 public: static int Pe...
  3. springboot获取resources路径_Docker构建SpringBoot应用
  4. router-link标签学习
  5. 点云插值:三维平面参数确定-不共线三点的平面方程
  6. 这几道挑战极限的烧脑题,烧脑到爽爽爽爽爽!
  7. 服务器windows模拟linux环境,科学网—Windows不用虚拟机或双系统,轻松实现shell环境:gitforwindows - 刘永鑫的博文...
  8. 窗口闪退_今天只讲一件事,精雕软件的BUG(进浮雕闪退,笔刷变圈圈等)
  9. InVEST model中生境质量
  10. vmware linux ssh密码,从 CLI 重置 Linux VM 密码和 SSH 密钥 - Azure Virtual Machines | Microsoft Docs...
  11. [Hacking]国内首届黑客大会COG2011现场报道(补)
  12. IBM X3850 X5 PCI故障实例
  13. 苹果id无法登陆_英雄联盟手游苹果id怎么绑定拳头账号?绑定教程介绍[图]-攻略...
  14. 替换word模板内容 Java实现
  15. 几何分布的期望和方差公式推导_算法数学基础-统计学最基础之均值、方差、协方差、矩...
  16. 'Connection aborted.', BadStatusLine('\x15\x03\x01\x00\x02\x02\x16',)
  17. Hyperf基础使用
  18. Excel 数据解析异常
  19. mel表达式_常用表达式Mel的用法-李英江-
  20. 客户案例:使用点星PBX进行电话自助水费查询TTS语音播报原理

热门文章

  1. 【机器学习】Pima数据集的可视化
  2. TypeError: Layout of the output array image is incompatible with cv::Mat
  3. 装饰器补充、三元表达式、生成式、匿名函数
  4. redis 基础数据结构实现
  5. 20165328 第八周学习总结
  6. Python基础---OS模块 (二)
  7. Android 安全 (一)
  8. 活动目录建立IIS站点
  9. 如何修改WSS站点的主菜单
  10. 蚂蚁金服 SOFAArk 0.6.0 新特性介绍 | 模块化开发容器...