ElasticSearch 使用 Logstash 从 MySQL 中同步数据

elasticsearch使用2:使用Logstash7.1.1同步MySql数据到ES 1.准备工作 下载Logstash:https://www.elastic.co/products/logstash 2.安装部署 下载完成后解压,之后在config文件夹中创建mysql.conf 文件名可修改,启动的时候修改成对应的脚本命令就行 打开刚创建的文件加入以下代码(已经确定7版本以上取消了type,所以我没加type) input { stdin {} jdbc{ jdbc_... 阅读详情

作者:皇上得了花柳病

链接:https://www.jianshu.com/p/70f9faeebc6f

目的是希望将现有的数据导入到 ElasticSearch 中,研究了好几种,除了写代码的方式,最简便的就是使用 Logstash 来导入数据到 ElasticSearch 中了。

因为现有的数据在 MySQL 数据库中,所以希望采用 logstash-input-jdbc 插件来导入数据。

安装 ElasticSearch 和 Logstash

首先需要安装 ElasticSearch 和 Logstash 环境,我选择的版本是 6.3.0。

ELK 都是 Elastic 公司的产品,所以安装包可以到 http://www.elastic.co/downloads/elasticsearch 下载,老版本的归档在 https://www.elastic.co/downloads/past-releases 页面选择下载。

liuqianfei@Master:~$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz
liuqianfei@Master:~$ wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.0.tar.gz
liuqianfei@Master:~$ tar -zxvf elasticsearch-6.3.0.tar.gz
liuqianfei@Master:~$ tar -zxvf logstash-6.3.0.tar.gz
liuqianfei@Master:~$ ls -lh
总用量 228M
drwxrwxr-x  2 liuqianfei liuqianfei 4.0K 11月 21 09:56 connector
drwxr-xr-x  9 liuqianfei liuqianfei 4.0K 11月 21 09:24 elasticsearch-6.3.0
-rw-r--r--  1 liuqianfei liuqianfei  88M 11月 21 09:13 elasticsearch-6.3.0.tar.gz
drwxrwxr-x 14 liuqianfei liuqianfei 4.0K 11月 21 10:15 logstash-6.3.0
-rw-r--r--  1 liuqianfei liuqianfei 141M 11月 21 09:13 logstash-6.3.0.tar.gz

es-logstash-download.jpg

在安装上都很简单,基本上就是解压即用,ElasticSearch 的安装可以参考 ElasticSearch 6.0.0 安装配置,注意配置 IP 和修改系统参数。

直接解压 logstash 到指定目录就可以了,然后执行 ./logstash -e。

liuqianfei@Master:~/logstash-6.3.0$
liuqianfei@Master:~/logstash-6.3.0$ ./bin/logstash -e

输入 hello 输出如下则表示安装成功:

logstash-hello.png

安装 logstash-input-jdbc 插件

现在使用 Logstash 比较幸福的是,logstash-6.1.1 以后已经默认支持 logstash-input-jdbc 插件,不需要再单独安装了。

如果你有不得已的原因必须要使用老版本的 Logstash,那么可以这么安装 logstash-input-jdbc 插件:

liuqianfei@Master:~/logstash-6.3.0$ ./bin/logstash-plugin install logstash-input-jdbc

需要注意网络配置,因为这是在线安装的。

在线安装网络问题

建议大家在使用 Logstash 的时候使用最新版本,如果必须用老版本在先安装 logstash-input-jdbc 插件,如果有梯子翻墙最好,没有的话就需要麻烦一点配置源问题。

本节从网上摘录了一段配置,没有经过充分验证。

logstash-input-jdbc 插件是 logstash 的一个插件,使用 ruby 语言开发。下载插件过程中最大的坑是下载插件相关的依赖的时候下不动,因为国内网络的原因,访问不到亚马逊的服务器。解决办法,改成国内的 ruby 仓库镜像。此镜像托管于淘宝的阿里云服务器上。

如果没有安装 gem 的话先安装 gem,这是 ruby 的管理工具包。

yum install gem
gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
gem sources -l

*** CURRENT SOURCES ***

https://ruby.taobao.org

# 请确保只有 ruby.taobao.org
# 如果 还是显示 https://rubygems.org/ 进入 home的 .gemrc 文件
vim ~/.gemrc
# 手动删除 https://rubygems.org/

修改 Gemfile 的数据源地址。步骤:

进入 logstash 根目录,vi Gemfile 修改 Gemfile 文件,修改 source 的值为 "https://ruby.taobao.org"。

还是在 logstash 根目录,修改 lock 文件 Gemfile.lock,找到 remote: https://rubygems.org/ 修改为 remote: https://ruby.taobao.org。

或者直接替换源这样你不用改你的 Gemfile 的 source。

sudo gem install bundler
$ bundle config mirror.https://rubygems.org https://ruby.taobao.org

然后就可以使用 ./logstash-plugin install logstash-input-jdbc 命令来安装 jdbc 插件了。

JDBC

logstash-input-jdbc 运行任务需要对应数据库的 JDBC 驱动文件。

我们在 home 目录新建目录 connector,把 MySQL 的驱动文件放在里面。

liuqianfei@Master:~$ mkdir connector
liuqianfei@Master:~$ cd connector
liuqianfei@Master:~$ ls -lah
liuqianfei@Master:~/connector$ ls -lah
总用量 836K
drwxrwxr-x 2 liuqianfei liuqianfei 4.0K 11月 21 09:56 .
drwxr-xr-x 8 liuqianfei liuqianfei 4.0K 11月 21 19:19 ..
-rw-rw-r-- 1 liuqianfei liuqianfei 827K 11月 21 09:56 mysql-connector-java-5.1.24-bin.jar
liuqianfei@Master:~/connector$

Logstash 导入导出脚本

我在 logstash 根目录新建了一个目录 script,专门存放 logstash 导入导出脚本配置。

liuqianfei@Master:~/logstash-6.3.0$ cd script/
liuqianfei@Master:~/logstash-6.3.0/script$ ls -lah
总用量 12K
drwxrwxr-x  2 liuqianfei liuqianfei 4.0K 11月 21 11:33 .
drwxrwxr-x 14 liuqianfei liuqianfei 4.0K 11月 21 19:19 ..
-rw-rw-r--  1 liuqianfei liuqianfei  444 11月 21 10:34 mysql.conf
liuqianfei@Master:~/logstash-6.3.0/script$

我的脚本内容很简单,从远程 MySQL 库 test_data_100w 导入表 test1_text 的全部数据到 ElasticSearch,任务只执行一次。

input {
  jdbc {
    jdbc_driver_library => "/home/liuqianfei/connector/mysql-connector-java-5.1.24-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://192.190.10.119:3306/test_data_100w?serverTimezone=GMT%2B8"
    jdbc_user => "root"
    jdbc_password => "root"
    statement => "SELECT * from test1_text"
  }
}

output {
        elasticsearch {
        hosts => [ "localhost:9200" ]
    }
}

执行 Logstash 导入任务

使用命令 ./bin/logstash -f ./script/mysql.conf 执行导入脚本。

liuqianfei@Master:~/logstash-6.3.0$ ./bin/logstash -f ./script/mysql.conf
Sending Logstash's logs to /home/liuqianfei/logstash-6.3.0/logs which is now configured via log4j2.properties
[2018-11-21T10:55:37,328][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2018-11-21T10:55:39,760][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"6.3.0"}
[2018-11-21T10:55:47,803][INFO ][logstash.pipeline        ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>1, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50}
[2018-11-21T10:55:49,717][INFO ][logstash.outputs.elasticsearch] Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[http://localhost:9200/]}}
[2018-11-21T10:55:49,802][INFO ][logstash.outputs.elasticsearch] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=>http://localhost:9200/, :path=>"/"}
[2018-11-21T10:55:50,643][WARN ][logstash.outputs.elasticsearch] Restored connection to ES instance {:url=>"http://localhost:9200/"}
[2018-11-21T10:55:50,861][INFO ][logstash.outputs.elasticsearch] ES Output version determined {:es_version=>6}
[2018-11-21T10:55:50,879][WARN ][logstash.outputs.elasticsearch] Detected a 6.x and above cluster: the `type` event field won't be used to determine the document _type {:es_version=>6}
[2018-11-21T10:55:50,939][INFO ][logstash.outputs.elasticsearch] Using mapping template from {:path=>nil}
[2018-11-21T10:55:51,040][INFO ][logstash.outputs.elasticsearch] Attempting to install template {:manage_template=>{"template"=>"logstash-*", "version"=>60001, "settings"=>{"index.refresh_interval"=>"5s"}, "mappings"=>{"_default_"=>{"dynamic_templates"=>[{"message_field"=>{"path_match"=>"message", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false}}}, {"string_fields"=>{"match"=>"*", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false, "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}}}}], "properties"=>{"@timestamp"=>{"type"=>"date"}, "@version"=>{"type"=>"keyword"}, "geoip"=>{"dynamic"=>true, "properties"=>{"ip"=>{"type"=>"ip"}, "location"=>{"type"=>"geo_point"}, "latitude"=>{"type"=>"half_float"}, "longitude"=>{"type"=>"half_float"}}}}}}}}
[2018-11-21T10:55:51,273][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["//localhost:9200"]}
[2018-11-21T10:55:52,344][INFO ][logstash.pipeline        ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<Thread:0x349c342d run>"}
[2018-11-21T10:55:52,688][INFO ][logstash.agent           ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2018-11-21T10:55:54,146][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
[2018-11-21T10:55:59,368][INFO ][logstash.inputs.jdbc     ] (2.011717s) SELECT * from test1_text
[2018-11-21T10:57:18,337][INFO ][logstash.pipeline        ] Pipeline has terminated {:pipeline_id=>"main", :thread=>"#<Thread:0x349c342d run>"}

等待几分钟任务执行完毕。

es-logstash-import.jpg

这时候查询 ElasticSearch 索引,发现已经有数据了。

D:\
λ curl -X GET http://192.190.10.170:9200/_cat/indices?v
health status index               uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   logstash-2018.11.21 SFS4m0oWSh6O30vEE3INhg   5   1     100000            0     66.mb         66.mb

D:\
λ

如果执行脚本的时候报错:

Java::JavaSql::SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.

在 JDBC 链接的 url 后要带入时区参数 ?serverTimezone=GMT%2B8。

注意 MySQL 要支持远程连接才行(如果是本地的 mysql 可以不管),不然后报拒绝访问的异常:

 is not allowed to connect to this MySql server

脚本说明

最后附一个从 MySQL 定时增量导入数据的脚本和参数说明,仅供参考。

#-----------------------------------start-----------------------------------
#输入部分
input {
  jdbc {
    #连接MySQL驱动,需要自己下载
    jdbc_driver_library => "/es/mysql-connector-java-5.1.31.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://10.112.29.30:3306/mstore"
    #连接数据库账号信息
    jdbc_user => "MySQL_admin"
    jdbc_password => "password"
    #分页
    jdbc_paging_enabled => true
    #分页大小
    jdbc_page_size => 100000
    #流式获取数据,每次取10000.
    jdbc_fetch_size => 10000
    #Maximum number of times to try connecting to database
    connection_retry_attempts => 3
    #Number of seconds to sleep between connection attempts
    connection_retry_attempts_wait_time => 1
    #Connection pool configuration. The amount of seconds to wait to acquire a connection before raising a PoolTimeoutError (default 5)
    jdbc_pool_timeout => 5
    #Whether to force the lowercasing of identifier fields
    lowercase_column_names => true
    #Whether to save state or not in last_run_metadata_path
    #保存上次运行记录,增量提取数据时使用
    record_last_run = > true
    #"* * * * *"为每分钟执行一次
    schedule => "* * * * *"
    #Use an incremental column value rather than a timestamp
    use_column_value => true
    #sql_last_value
    #The value used to calculate which rows to query. Before any query is run, this is set to Thursday, 1 January 1970, or 0 if use_column_value is true and tracking_column is set. It is updated accordingly after subsequent queries are run.
    tracking_column => "id"
    #查询语句
    statement => "SELECT id,package_name,name,sub_name,editor_comment,high_quality,sub_category,tag,update_time FROM tbl_app WHERE id > :sql_last_value"
  }
}

#过滤部分
filter {
  json {
    source => "message"
    remove_field => ["message"]
  }
  date{
    match => ["update_time","yyy-MM-dd HH:mm:ss"]
  }
}

#输出到elastsicearch
output {
  elasticsearch {
    #elasticsearch集群地址,不用列出所有节点,默认端口号也可省略
    hosts => ["10.127.92.181:9200", "10.127.92.212:9200", "10.127.92.111:9200"]
    #索引值,查询的时候会用到;需要先在elasticsearch中创建对应的mapping,也可以采用默认的mapping
    index => "store"
    #指定插入elasticsearch文档ID,对应input中sql字段id
    document_id => "%{id}"
  }
}

#------------------------------------end------------------------------------

使用时请去掉此文件中的注释,不然会报错。logstash 会把执行记录默认存在账户根目录下: /root/.logstash_jdbc_last_run,如果需要重新加载数据到 elasticsearch,需要删除这个文件。

推荐阅读

网站开发:从写代码到公网访问整个流程

两小时入门 Docker(好文推荐)

IDEA 2020,9个新特性曝光,程序员:追不上了。。。

推荐 33 个 IDEA 最牛配置,写代码太爽了

JVM 史上最最最完整深入解析(12000 字噢)


好文!必须点赞
SpringDataElasticsearch的使用以及使用Logstash同步MySQL数据到ES 文章目录一、介绍1.pom依赖2.yml配置文件主启动类二、代码1.Repository2.Service3.ServiceImpl4.Controller三、使用Logstash同步MySQL数据到ES1.简单介绍一下2.启动测试3.创建mysql.confBug 一、介绍 我只用的ES版本是7.8 1.pom依赖 # SpringBoot版本 <parent> <groupId>org.springframework.boot</groupId> 阅读详情

相关推荐

Windows服务器XMRig挖矿病毒深度清除实战指南

XMRig是一种广泛用于Monero(XMR)加密货币挖矿的开源工具,其在Windows环境中的持久化机制已远超传统木马范畴,融合WMI事件订阅、服务伪装、PowerShell无文件执行与注册表隐写等多重反检测技术。理解其基于行为而非特征的生存逻辑,是实现有效检测与根除的前提。该技术具备强隐蔽性、高自愈性与网络通信合法化特征,常见于RDP弱口令爆破、SMB共享泄露及PowerShell远程执行等非漏洞类入侵场景。本文聚焦Windows原生命令与Sysinternals工具链,提供覆盖进程定位、WMI清理、服

weixin_30535843的博客 735

Logstash 入门介绍

一、简介。 通常,Logstash 的一个配置文件含input{},filter{},output{} 三部分。其中,输入和输出是必须的元素,filter 元素是可选的。输入 元素获取数据源源数据,过滤器元素按照指定的要求修改数据,输出元素将数据写入目标。 说明: (1)Linux 安装 Logstash,请阅读博文Linux 安装 Logstash 二、测试标准输入输出。 ....

magic_kid_2010的专栏 1502

2026开源API网关横评:微服务与AI流量治理如何选型

API网关作为微服务架构的流量入口,承担着路由转发、安全管控、限流熔断等核心职责,是分布式系统治理的基础设施。随着大模型应用的普及,AI流量对网关提出了新的要求,如流式响应支持、Token级限流、多模型路由和成本分账等能力。传统网关通过插件拼凑AI功能,而AI原生网关则将这些能力内建。面对众多开源方案,如何根据业务场景做出合理选型?本文对Kong、APISIX、Higress、Envoy Gateway、MAI Gateway等主流开源API网关进行横向评测,从性能、动态性、K8s集成度、AI流量治理等维度

weixin_34242819的博客 482

logstash在向elasticsearch输出数据时的动态映射模板问题

使用logstash-input-jdbc插件同步mysql数据到elasticsearch,系统会使用一个默认的动态映射模板,模板名字为logstash。在启动logstash过程中你会看到如下信息 Using mapping template from {:path=>nil} Attempting to install template{:manage_template=>{"templ

风雨诗轩的博客 8411

数据驱动的老年人健康管理与生活品质提升实践研究

摘要 全球人口老龄化趋势显著,2025年65岁以上人口预计达8.57亿,中国老年人口已突破3亿。老年人健康挑战突出,75%以上患慢性病,且独居老人心理健康与应急需求迫切。数据驱动的健康管理通过智能设备(如跌倒检测、远程监测)和AI技术(如疾病预测算法)提升效率,改善生活品质。研究提出差异化需求解决方案,如慢性病患者的持续监测与用药管理,高龄老人的综合护理服务,并探讨政策与商业模式以推动智慧养老产业发展,2024年市场规模已达6.8万亿元。

聚焦程序设计语言理论与前沿技术落地,拆解代码世界的底层逻辑,探索语言设计的 “创造与沟通” 之道。从编译原理、类型系统到 AI 技术在金融、医疗、制造、养老、大健康等领域的实战案例,分享硬核技术干货与工程化思考。 1632

Matplotlib图片尺寸调整全攻略:从figsize到savefig的实战技巧

在数据可视化与科学计算中,图形尺寸控制是影响图表可读性与专业度的基础环节。其核心原理在于协调逻辑尺寸(英寸)与物理输出(像素)的映射关系,这直接决定了信息呈现的清晰度与布局合理性。从技术价值看,精准的尺寸控制能提升图表在不同媒介(如学术论文、报告、网页)中的适配性,避免显示不全、模糊失真等常见问题。在应用场景上,无论是Jupyter Notebook中的交互探索、自动化报告的批量生成,还是满足严格出版要求的插图制作,都需要掌握对应的尺寸调整策略。本文聚焦于matplotlib中的figsize参数、rcPa

weixin_30899023的博客 331

logstash to elasticsearch 踩坑记

[2021-10-21T23:40:21,387][WARN ][logstash.outputs.elasticsearch][main] Marking url as dead. Last error: [LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError] Elasticsea rch Unreachable: [http://xxxxxx:xxxxxx@192.168.2.120:9200/][Manti.

magic_kid_2010的专栏 7085

深入解析i2cdetect:从基础命令到高级读写操作

本文深入解析Linux下i2cdetect工具,从基础安装、总线扫描到高级读写操作。作为i2c-tools的核心组件,i2cdetect是硬件调试的得力侦探,能快速识别I2C总线上的设备地址。文章还涵盖了i2cdump、i2cset、i2cget等进阶工具,并介绍了如何在C程序中调用读写接口进行嵌入式开发,是掌握I2C通信调试的实用指南。

weixin_29189987的博客 372

logstash 读取日志信息输出到elasticsearch完成查询

1 新建test2.conf文件 input { file { path =&gt;"/soft/elasticsearch-6.4.3/logs/elasticsearch.log"#elasticsearch日志信息 #codec =&gt;"json" type =&gt;"elasticsearch" star...

Master_chaoAndQi的博客 4719

用一张分析型 CDS Query 看清争议案件新增与结案节奏:C_OpenClosedDisputeCase 深度解读

应收账款争议管理中的关键CDS视图分析 摘要:C_OpenClosedDisputeCase是SAP系统中用于监控应收账款争议案件的重要CDS视图,提供三个时间窗口(当日、近5天、当月)的新增与结案数据。该视图通过"创建vs解决"的净变化指标,帮助财务团队实时掌握争议管理趋势,特别适用于多币种跨国企业的现金流管理。其核心价值在于将争议管理从被动"救火"转变为可量化运营,通过统一汇率换算和关键日期参数,为管理层提供标准化的运营仪表盘。视图采用特权访问模式,需通过上层应用

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 123

网表导入virtuoso后发现pg pin忘记connect_pg_net/globalNetConnect怎么办?

数模混合项目中经常需要一些需要到virtuoso去连接的线,比如IO上的pg和一些信号线,除了在pr工作中设置skip route之外还需要做好net的赋值,告诉工具虽然我没在物理上有连接,但是实际上应该连什么net,这部分提现在网表里。在Default Net Name中也填写net name,因为这个net需要做global操作,即在顶层定义这个net,所以需要在net name后加个!打开schematic,删除指定cell pin所接net的label。

m0_61544122的博客 972

Logstash向ES刷数据报错:LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError

[2022-02-22T00:09:22,656][WARN ][logstash.outputs.elasticsearch][ods_host][dc07d40532915e5f6e1679ca41a6bc431b236880d34d44f80fc563f5e4aa2692] Marking url as dead. Last error: [LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError] Elastic

Brave_heart4pzj的博客 8021

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

使用Logstash同步mysql数据到Elasticsearch(亲自踩坑)_将mysql中的数据导入es搜索引擎利用logstash(2)

⚠️原因:mysql 中的字段 ‘birth_date’ 数据格式为 2000-09-15,通过LogStash导数据时 格式变为 2000-09-14T16:00:00.000Z而ES索引类型要求的格式为 :yyyy-MM-dd所以报错;⚠️原因:数据库表中的sex字段,字段类型为tinyint,Logstash会转成boolean,但是ES中设置的也是int类型,所以你懂的。恭喜你🎉🎉🎉,到这你已经成功3/4啦,接下来进入到最重要,同时99%会报错的最后一步,加油⛽️。

2401_84181070的博客 1319

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

使用logstash同步MySQL数据到ES

概述: 在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。 在使用logstash我们赢先了解其特性,再决定是否使用: 无需开发,仅需安装配置logstash即可; 凡是SQL可以实现的logstash均可以实现(本就是通过sql查询数据) 支持每次全量同步或按照特定字段(如...

zxiaofan.com 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

使用Logstash同步mysql数据到Elasticsearch(亲自踩坑)_将mysql中的数据导入es搜索引擎利用logstash(1)

我们公司用的华为云,我以华为云为例,进到"云搜索服务CSS",找到ES实例,然后下载证书。⚠️原因:数据库表中的sex字段,字段类型为tinyint,Logstash会转成boolean,但是ES中设置的也是int类型,所以你懂的。恭喜你🎉🎉🎉,到这你已经成功3/4啦,接下来进入到最重要,同时99%会报错的最后一步,加油⛽️。恭喜你🎉🎉🎉,到这你已经成功2/4啦,接下来我们要去配置Logstash啦,加油⛽️。

2401_84181070的博客 1253

使用logstash同步mysql数据到elasticsearch(包含配置es,springboot集成搜索)

参考: https://cloud.tencent.com/developer/article/1183253 https://www.cnblogs.com/ashleyboy/p/9612453.html es简介: es是一个高度可扩展的开源全文搜索和分析引擎,可以快速的、近实时地对大数据进行存储、搜索和分析,用来支撑复杂的数据搜索需求和企业级应用。简单来说,它是一个搜索引擎,...

huiyunfei的博客 4869

使用Logstash将MySQL中的数据同步至Elasticsearch

使用Logstash将MySQL中的数据同步至Elasticsearch。ELK的安装。

weixin_48568302的博客 2848

使用Logstash将Mysql数据增量同步到ElasticSearch搜索引擎

下载logstash:https://www.elastic.co/cn/downloads/logstash/ 解压到目录/usr/local下 安装插件 bin/logstash-plugin install logstash-input-jdbc bin/logstash-plugin install logstash-output-elasticsearch 出现错误,Java ...

qq_33683097的博客 742

使用Logstash将MySQL经纬度数据转换为es geo同步到Elasticsearch以及遇到的问题

首先必须安装了logstash并且有logstash-input-jdbc和logstash-output-elasticsearch这俩插件。 Elasticsearch 提供了 两种表示地理位置的方式:用纬度-经度表示的坐标点使用 geo_point 字段类型; 以 GeoJSON 格式定义的复杂地理形状,使用 geo_shape 字段类型。 这里我用的是geo_point的字段类型;这种字段类型有三种格式(官方例子): 1. { "name": "Chipotle Mexican Gril

君归北阙朝天帝的博客 1万+

使用Logstash同步mysql数据到Elasticsearch(亲自踩坑)_将mysql中的数据导入es搜索引擎利用logstash

⚠️原因:mysql 中的字段 ‘birth_date’ 数据格式为 2000-09-15,通过LogStash导数据时 格式变为 2000-09-14T16:00:00.000Z而ES索引类型要求的格式为 :yyyy-MM-dd所以报错;⚠️原因:数据库表中的sex字段,字段类型为tinyint,Logstash会转成boolean,但是ES中设置的也是int类型,所以你懂的。恭喜你🎉🎉🎉,到这你已经成功3/4啦,接下来进入到最重要,同时99%会报错的最后一步,加油⛽️。恭喜你🎉🎉🎉,到这你已经成功啦。

2401_87167658的博客 832

使用logstash将mysql数据同步到elasticsearch中

ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。 Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索.

hello_cmy的博客 522

使用 logstash 将 MySQL 数据以增量方式,同步到 ES 搜索引擎

1.环境准备 elasticsearch-7.7.0 kibana-7.7.0 logstash-7.7.0 mysql-connector-java-5.1.13.jar 2.准备核心配置文件 2.1 查询的 sql 文件 SELECT a.id AS topicId, a.topic_code AS topicCode, a.`code` AS userCode, a.topic_title AS topicTitle, a.create_time AS createTime, a.up

王一横的个人博客 643

使用logstash实现mysql和elasticsearch数据增量同步

说明:该文档只是单表同步,多表同步的请继续百度,还有我的es没有集群,单节点的 一、安装elasticsearch6.5.1 (怎么安装请百度) 二、安装logstash-6.5.1(怎么安装请百度) 三、重点:配置logstash.conf文件 input { stdin { } jdbc { #填写你的mysql链接串8以后驱动必须这样写{host}:3306/{database} ...

weixin_40896800的博客 768

elk之使用logstash同步mysql数据到elasticsearch(aws es)

./bin/logstash-plugin install logstash-output-amazon_es ./bin/logstash-plugin install logstash-input-jdbc tar -zxvf mysql-connector-java-8.0.16.tar.gz mysql.conf input { jdbc { jdbc_driver_...

草根上的须子 1163
上一篇: Spring Boot + Solr全文检索微服务简易集成
下一篇: 实战篇,你不得不懂的Elasticsearch搜索引擎!
Java思维导图
博客等级 码龄10年 306粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值