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

Docker搭建ELK 文章目录准备工作1.创建docker网络2.编写logstash.conf3.准备jar一、 Docker搭建Elasticsearch1.拉取镜像2.启动容器3.访问测试4.可能出现问题二、Docker搭建Kibana1.拉取镜像2.启动容器3.访问测试三、Logstash同步数据1.拉取镜像2.启动容器3.服务验证总结 提示:以下是本篇文章正文内容,下面案例可供参考 准备工作 1.创建docker网络 本文创建docker网络,以下ip地址将都以容器名代替 docker network creat. 阅读详情

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]# ll

total 16

-rw-r--r-- 1 root root  267 Dec 30 16:08 Dockerfile

drwxr-xr-x 2 root root 4096 Dec 30 16:08 jar

drwxr-xr-x 2 root root 4096 Dec 30 16:33 lastValue

drwxr-xr-x 2 root root 4096 Dec 30 16:34 pipeline

3、创建Dockerfile,内容如下:

[root@test-zjzb-1: /opt/logstash]# ll

total 16

-rw-r--r-- 1 root root  267 Dec 30 16:08 Dockerfile

drwxr-xr-x 2 root root 4096 Dec 30 16:08 jar

drwxr-xr-x 2 root root 4096 Dec 30 16:33 lastValue

drwxr-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]# ls

mysql-connector-java-8.0.21.jar

[root@test-zjzb-1: /opt/logstash/jar]#

 

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

[root@test-zjzb-1: /opt/logstash/lastValue]# ls

lastId-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]# ls

logstash.conf

[root@test-zjzb-1: /opt/logstash/pipeline]# cat logstash.conf

input {

    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

定期重启Logstash,并清除last_run_metadata_path数据。 使用find命令结合grep命令:find命令用于在指定目录及其子目录中查找文件,而grep可以在找到的文件中查找匹配内容。这条命令会在/path/to/directory目录下的所有文件中查找包含关键词"keyword"的文件。使用该参数后,grep命令将只显示包含匹配字符串的文件名,而不显示具体匹配内容。将只显示包含关键字”keyword”的文件名。:结束-exec命令,批量处理匹配到的文件。:对找到的每个文件执行后面的命令。:代表find命令找到的文件名。:仅选择类型为普通文件的项。 阅读详情

相关推荐

5个企业级SOC平台横向对比:IBM QRadar vs Splunk vs 奇安信NGSOC

本文深度对比了IBM QRadar、Splunk和奇安信NGSOC等五大企业级SOC平台的核心能力,从架构设计、威胁检测、运营效率、成本模型和行业适配度五个维度进行解析。文章特别强调安全运营中心(SOC)在现代企业中的关键作用,并提供了实战数据和优化建议,帮助企业选择最适合自身需求的SOC解决方案。

a1b2c的博客 663

Docker下logstash同步mysql和elasticsearch

1 配置elasticsearch环境 参考{% post_link ElasticSearch %} 2 搭建logstash环境 elasticsearch和logstash版本要一致 拉取镜像 docker pull logstash:5.6.8 创建容器,同时映射文件夹,这样可以把文件同步到容器内 将/home/docker/logstash/文件夹映射到/etc/logstash/pipeline目录下 docker run -dit --name logstash -v /home/

qingnijiayou的博客 552

PCIe学习笔记(一)-------1.3 PCIe数据包(TLP,DLLP,PLP)

1,PCIe的层次结构 PICe设备在硬件电路上可以分为三个层次结构:事务层(Transaction Layer)、数据链路层(Data Link Layer)、物理层(Physical)。每一个层次又可以分为两个部分,分别为处理发送和处理接收的部分。 也可以分为四个层次,将事务层以上的层次称为软件层(Software Layer)。 2,PCIe数据包 前面已经说过PCIe之间是以数据包的形式来传输数据的,协议共定义了3类数据包。与处理层相关的是处理层数据包(TLP),与数据链路层相关的是数据

llxxyy507的博客 2万+

Docker部署Elasticsearch&Logstash将mysql数据导入Elasticsearch

1、安装docker 1.1、更换docker镜像源 2、拉取elasticsearch(以7.1.0为例) sudo docker pull elasticsearch:7.1.0 3、查看镜像 sudo docker images 4、运行elasticsearch容器 sudo docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xm

sinat_30812239的博客 2122

MIT Bevfusion环境安装 Docker方式,nuscenes数据处理

Bevfusion环境安装,数据生成报错解决module 'numpy' has no attribute 'long';most likely due to a circular import。bevfusion docker环境

Jack_Man_N的博客 1144

mysql8.0安装及配置超详细教程_mysql-8.0.15-winx64

MySQL8.0配置教程, 全网最详,同时有本地mysql和小皮系统见另一篇

小诺言的博客 2万+

docker logstash同步MySQL的metadata处理技巧

在工作中,会遇到一种场景是将MySQL的数据同步至ES(或者HDFS,kafka等)中,其中一种方案是使用logstash进行数据的同步,使用logstash-input-jdbc(https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html)插件。 该插件中有一个参数是last_run_metadata_pa...

HsiaChubby的博客 2022

Kappa函数:测量一致性并计算置信区间的R语言包

Kappa函数是一种常用的统计量,用于衡量两个评估者之间的一致性。在R语言中,有一个名为"vcd"的包提供了计算Kappa函数以及相应的置信区间的功能。本文将介绍如何使用"vcd"包来计算Kappa函数的值,并进一步计算置信区间。Kappa函数的值介于-1和1之间,值越接近1表示评估者之间的一致性越高,值越接近-1表示评估者之间的一致性越低,值接近0表示评估者之间的一致性接近于随机。通过以上步骤,我们成功地使用R语言中的"vcd"包计算了Kappa函数的值和置信区间。接下来,我们可以使用"vcd"包中的。

2301_79331230的博客 1875

docker部署logstash

一. 拉取logstash镜像 docker pull logstash:6.7.0 二. 编写docker-compose.yaml文件 version: '3' services: logstash: restart: always image: logstash:6.7.0 deploy: replicas: 1 update_c...

X-man 4154

【YOLOv11多模态涨点改进】独家创新首发| TGRS 2026 |引入 CIFusion 通道交互融合模块,通过跨特征交互机制强化目标区域响应,适合多模态融合目标检测,小目标检测高效涨点

🔥本文提出了一种改进YOLOv11多模态目标检测模型的方法,通过引入CIFusion通道交互融合模块来提升RGB与红外特征融合效果。CIF模块采用通道级自适应交互机制,根据全局上下文动态分配不同模态通道的重要性,实现跨模态特征交互与互补信息融合。相比传统拼接或加权融合方式,CIF能够增强目标区域响应,抑制背景噪声,提高小目标和低对比度目标的检测性能。实验表明,该方法在DroneVehicle等数据集上显著提升了检测精度。论文还详细介绍了CIF模块的结构原理、实现代码及模型配置方法。

Ai缝合怪、助力小伙伴高效发论文 186

1、基于改进3D卷积神经网络的阿尔茨海默病分类

本文提出了一种基于改进3D卷积神经网络的阿尔茨海默病(AD)分类方法,利用3D CNN对预处理后的T1加权MRI数据进行空间特征提取,并在VGG网络结构中引入类似ResNet的跳跃连接以缓解模型退化和过拟合问题。实验基于ADNI数据集,包含AD、MCI和NC三类样本,结果表明改进后的3D VGG模型在AD/NC、MCI/NC及多分类任务中均取得了优异性能,尤其在AD/MCI/NC分类中准确率达到98.50%,优于现有典型3D深度学习方法。研究验证了3D CNN在脑部疾病诊断中的有效性,并为AD的早期识别提供

kk1234的博客 90

如何利用docker一键部署mysql数据库+elasticsearch搜索引擎

mysql数据库非常常用,在数据量级不大的时候可以通过sql进行增改删查等操作,但是数据量达到千万级别就比较慢,所以需要依赖es搜索引擎,有了搜索引擎就需要类似kibana这种管理界面,还需要logstash这个工具进行数据同步。这听上去非常麻烦,但是有了docker这个工具之后便可以compose一键部署,直接可以利用es搜索引擎进行数据库操作,现在与大家分享一个简单的样例,亲测可用,我会对整个过程进行详细的介绍。 如果是windows主机,推荐用wsl创建linux虚拟机,然后再安装,此部分教

hhhheeeennnnyyy的博客 1084

混响效果的编程实现:Schroeder混响模型与Moorer型混响

Schroeder混响模型是由Manfred R. Schroeder在1962年提出的,它基于一系列串联的反射器(Allpass Comb Filters)和并联的反射器(Feedback Comb Filters)构成。Schroeder混响模型是由Manfred R. Schroeder在1962年提出的,它基于一系列串联的反射器(Allpass Comb Filters)和并联的反射器(Feedback Comb Filters)构成。通过调整各个反射器和全通滤波器的参数,可以实现不同的混响效果。

2301_79326857的博客 1082

ES配置.

1: 首先要有一个 jdk的环境 首先配置 JAVA_HOME :: 2:使用dockere拉取es镜像 (会有一个三百多的mb) (1):docker pull elasticsearch:7.7.0 (版本都可以但是要和下面两个版本一致) (2):在浏览器访问http://localhost:9200 出现以下情况即为成功 3:下载kibana 版本要和es一致 这是一个可视化工具 https://artifacts.elastic.co/downloads/ki...

weixin_57253143的博客 3766

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Elasticsearch搜索技术实战

Elasticsearch搜索技术实战

qq_36461021的博客 224

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Logstash同步MySQL数据到ElasticSearch

搭建Logstash同步MySQL数据到ElasticSearch

weixin_43973735的博客 287

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

docker系列之搭建ELK

elk搭建+线程池+封装api实现动态批量操作es目录前言搭建ELK搭建Elasticsearch搭建Logstash搭建KibanaMySQL数据同步到ES码上有戏线程池管理ES封装API测试简单说明源码地址 目录 前言 搭建ELK 搭建Elasticsearch 搭建Logstash 搭建Kibana MySQL数据同步到ES 码上有戏 线程池管理ES 封装API 测试 简单说明 源码地址 ...

weixin_28727189的博客 373

十次方后台系统开发(4)

分布式搜索引擎ElasticSearch 了解Elasticsearch的特点及体系结构 完成Elasticsearch安装,能够调用RestAPI完成基本增删改查操作 完成Head插件安装,熟悉Head插件的基本使用方法 完成IK分词器的安装,能够使用IK分词器进行分词 使用SpringDataElasticsearch完成搜索微服务的开发(重点) 使用logstash完成mysql与Elasticsearch的同步工作 完成Elasticsearch在docker下的安装 1 ElasticSear

魔法革1996 378

使用docker实现logstash同步mysql到es

准备工作:1.有mysql的连接方式,并且可以连接成功2.有es的连接方式,并且可以连接成功3.安装了docker环境是Ubuntu中安装了docker。

qq_35716085的博客 2万+

docker搭建Elasticsearch、Kibana、Logstash 同步mysql数据到ES

在数据量大的企业级实践中,显得非常常见,特别是数据表超过千万级后,无论怎么优化,还是有点力不从心!使用中,最首先的问题就是怎么把千万级数据同步到中,在一些开源框架中知道了,有专门进行同步的!那就是Logstash。在思考,同步完怎么查看呢,这时Kibana映入眼帘,可视化的界面,让使用更加的得心应手哈!!这就是三剑客ELK。不过大多时候都是进行日志采集的,小编没有用,只是用来解决一个表的数据量大,查询慢的!后面小编在专门搭建日志采集的ELK。Elasticsearch 是一个分布式、RESTful风格的。

小王博客基地 3581

数据同步-Mysql同步到ElasticSearch

ES 中,_开头的字段表示系统默认字段,比如 _id,如果系统不指定,会自动生成。但是不会在surce 字段中补充 id 的值,所以建议大家手动指定。在ElasticSearch中索引相当于mysql中的表,mapping相当于表结构,所以第一步我们要先创建索引。使用java客户端进行增删改查,第一步导入依赖。2、把参数组合为ES支持的搜索条件。3、从返回值中取结果。

m0_59230408的博客 2266

docker 安装ES集成 kibana 使用logstash 同步Mysql数据库

第一步下载不写版本默认最新的 docker pull elasticsearch 第二步启动 docker run -it --name elasticsearch -d -p 9200:9200 -p 9300:9300 -p 5601:5601 elasticsearch -p 5601:5601 是kibana的端口地址 (我这里kibana的container共用elasti...

小坏说Java,一个专注Java微服务架构的实战,Java全栈教程,SpringBoot, SpringCloud微服务到分布式、高并发架构,大数据开发,运维实战,K8S、Docker容器为一体的教程,结合企业级内部的技术栈学习 3663

[Springboot实战系列]Java整合ElasticSearch实现数据模糊搜索(Logstash同步Mysql数据)

前言 本文介绍了如何整合搜索引擎elasticsearch与springboot,对外提供数据查询接口。 业务介绍 我的个人网站需要对mysql数据库内存储的京东商品进行模糊查询(模仿淘宝商品搜索),所以选择了将数据导入elasticsearch随后使用他来进行关键词查询。前端只需发送用户搜索的关键词和分页参数(可选),即可返回商品数据(json格式) 开发环境 组件介绍: elasticse...

蛮三刀酱 2580

通过Logstash将MySQL数据同步到ES

这种我建议最好有一个自动更新的update键并且带上索引,根据这个好建立查询语句只调整最近更新的 但是这种方式对真删不太友好,可以说是不支持,因为监听不到delete事件,所以使用这种方法做一下软删可以 但是这种方法上手快。运行起来你就会发现他会一直轮询查询,初次表大的话可以带上limit限制,因为Logstash JDBC 的确会“记住上一次的时间”(如果你是根据ID,他会记住上一次的ID)同时你还需要把logstash.conf 和mysql-connector-j-8.3.0.jar 挂载进去。

wqzbxh的博客 268

Docker部署Elasticsearch

前言 本篇文章记录下自己部署ES引擎的步骤。希望能给各位带来一点帮助。 安装Docker yum install docker 默认docker镜像文件及数据文件存放位置在/var/lib/docker目录下面 若该磁盘下容量不大,修改docker的数据卷位置(例:迁移到/data/docker目录下): systemctl disable docker systemctl stop do...

weixin_30597269的博客 90

Docker 安装Logstash,导入Mysql数据到ES里

第一次接触logstash,走了很多弯路, 记录一下,也希望能帮到需要的你。 特别注意一下,不同版本的使用是存在一定的差异,一定要细心。 版本 logstash:7.10.1 1.首先拉取镜像 docker pull logstash:7.10.1 2.获取配置文件 logstash的配置文件,如果手上没有,可以启动logstash后获取默认配置文件。 docker run -d -p 5044:5044 --name logstash logstash:7.10.1 3.拷..

拼命十三 1217
上一篇: iTerm2启动提示:zsh compinit: insecure directories, run compaudit for list.需要输入y的问题
下一篇: elasticsearch7相关的知识及kibana操作整理
grootblockchain
博客等级 码龄11年 55粉丝 101原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值