热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

docker部署logstash实现mysql数据同步至elasticsearch

elk是最佳组合,通过测试logstash同步数据的性能还是很靠谱的以下是部署步骤记录,可实现增量或者全量,只需要改一下lastValu

elk是最佳组合,通过测试logstash同步数据的性能还是很靠谱的

以下是部署步骤记录,可实现增量或者全量,只需要改一下lastValue的值即可

目录

1.拉取loastash镜像

2、创建logstash目录,并创建一下目录及文件,如下

3、创建Dockerfile,内容如下:

4、jar下方的是mysql 驱动jar

5、创建lastValue目录来存放上次执行的记录值,并创建本次任务记录文件如下:(可以不创建,每个批次后会自动写入)

6、创建pipeline目录并创建,本次任务的配置文件,logstash.conf

7、打包镜像

8、启动服务

后续相关命令:



1.拉取loastash镜像

docker pull logstash

当前版本应该是7.10.1

 

2、创建logstash目录,并创建一下目录及文件,如下

[root@test-zjzb-1: /opt/logstash]# lltotal 16-rw-r--r-- 1 root root  267 Dec 30 16:08 Dockerfiledrwxr-xr-x 2 root root 4096 Dec 30 16:08 jardrwxr-xr-x 2 root root 4096 Dec 30 16:33 lastValuedrwxr-xr-x 2 root root 4096 Dec 30 16:34 pipeline

3、创建Dockerfile,内容如下:

[root@test-zjzb-1: /opt/logstash]# lltotal 16-rw-r--r-- 1 root root  267 Dec 30 16:08 Dockerfiledrwxr-xr-x 2 root root 4096 Dec 30 16:08 jardrwxr-xr-x 2 root root 4096 Dec 30 16:33 lastValuedrwxr-xr-x 2 root root 4096 Dec 30 16:34 pipeline

4、jar下方的是mysql 驱动jar

[root@test-zjzb-1: /opt/logstash]# cd jar[root@test-zjzb-1: /opt/logstash/jar]# lsmysql-connector-java-8.0.21.jar[root@test-zjzb-1: /opt/logstash/jar]#

 

5、创建lastValue目录来存放上次执行的记录值,并创建本次任务记录文件如下:(可以不创建,每个批次后会自动写入)

[root@test-zjzb-1: /opt/logstash/lastValue]# lslastId-es[root@test-zjzb-1: /opt/logstash/lastValue]#内容如下:[root@test-zjzb-1: /opt/logstash/lastValue]# cat lastId-es--- 20762979

 

注:--- 20762979

是固定格式,---空格加上次的值

 

6、创建pipeline目录并创建,本次任务的配置文件,logstash.conf

内容如下:

[root@test-zjzb-1: /opt/logstash/lastValue]# cd ../pipeline/[root@test-zjzb-1: /opt/logstash/pipeline]# lslogstash.conf[root@test-zjzb-1: /opt/logstash/pipeline]# cat logstash.confinput {stdin {}jdbc {jdbc_connection_string => "jdbc:mysql://10.**.**.**:3306/bigdatatest"jdbc_user => "root"jdbc_password => "123****1q"jdbc_driver_library => "/app/mysql-connector-java-8.0.21.jar"jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "30000"use_column_value => "true"tracking_column => "id"statement => "select * from dt_tt_haier_total_order where id > :sql_last_value"schedule => "* * * * *"last_run_metadata_path => "/usr/share/logstash/pipeline/lastVule/lastId-es"}}filter {json {source => "message"remove_field => ["message"]}}output {elasticsearch {hosts => ["10.***.***.***:9200"]index => "test-logstash-index-tank"document_id => "%{id}"}stdout {codec => json_lines}}

 

注释:

jdbc_page_size 每批次分页,默认30万,这里增量改成了3万

tracking_column指定增量试用的标志字段

statement 执行语句

schedule 周期,以上配置默认一分钟一批次

last_run_metadata_path 增量时上次值储存位置

 

 

output 配置输出信息,此处为es配置

input 配置输入信息,此处为mysql

jdbc_driver_library 是mysql需要的驱动jar,此处咱们下载后挂在上

 

7、打包镜像

docker build -t uo-bd-logstash .

 

8、启动服务

docker run -it --name uo-bd-logstash \-v /opt/logstash/lastValue:/usr/share/logstash/pipeline/lastVule/ \-p 20726:5044 -p 20725:9600 \-d uo-bd-logstash

 

后续相关命令:

查看日志 docker logs -f uo-bd-logstash

停止服务 docker stop uo-bd-logstash

删除容器docker rm uo-bd-logstash

删除镜像docker rmi uo-bd-logstash


推荐阅读
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 学习Java异常处理之throws之抛出并捕获异常(9)
    任务描述本关任务:在main方法之外创建任意一个方法接收给定的两个字符串,把第二个字符串的长度减1生成一个整数值,输出第一个字符串长度是 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
author-avatar
ho世英雄
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有