7.elasticsearch同步工具-logstah

1.logstah

Logstash 是一个用于数据处理和转换的开源工具,它可以将来自不同源头的数据收集、转换、过滤,并将其发送到不同的目标。Logstash 是 ELK(Elasticsearch、Logstash 和 Kibana)技术栈的一部分,通常与 Elasticsearch 和 Kibana 一起使用,用于实现实时数据分析和可视化。

1.1 下载

Past Releases of Elastic Stack Software | ElasticLooking for a past release of Elasticsearch, Logstash, Kibana, es-hadoop, Shield, Marvel, or our language clients? You're in the right place.https://www.elastic.co/cn/downloads/past-releases#logstash

1.2 使用

在解压出来的文件夹中创建logstash.conf文件

其中配置

java 复制代码
input{
        stdin {
        }

        jdbc {
                jdbc_connection_string => "jdbc:mysql://localhost:3306/mall100?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
                jdbc_user => "root"
                jdbc_password => "admin"
                #驱动类
                jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
                codec => plain { charset => "UTF-8"}

                #主键
                tracking_column => "id"
                #是否记录上次执行结果
                record_last_run => "true"
                #是否需要记录某个column 的值
                use_column_value => "true"
                #代表最后一次数据记录id的值存放的位置,必填不然启动报错
                last_run_metadata_path => "D:\install\WONIU-J-Install\logstash-7.6.2\last_id.txt"
                #是否清除 last_run_metadata_path 的记录
				#如果为真那么每次都相当于从头开始查询所有的数据库记录
                clean_run => "false"
                #是否分页
                jdbc_paging_enabled => "true"
                jdbc_page_size => "100000"
                #进行同步数据时,执行的SQL
                statement => "select * from goods"
				#定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
                #"*/2 * * * * *"        表示每两秒同步一次
                schedule => "*/50 * * * * *"
         		#当前jdbc的类型,自定义,可以看做是当前jdbc的名字
         		type => "goods"
        }
}
filter{
}
output{
        elasticsearch {
                hosts => "192.168.5.224:9200"
                #索引名字
                index => "goods"
                #文档类型
                document_type => "goods"
                #文档id,唯一,避免数据重复
                document_id => "%{id}"
        }
        stdout {
                #以json格式查看数据同步情况,生产环节关闭,提升效率
                #codec => json_lines
        }
}

注意其中的数据库相关配置(6)、同步执行的sql语句(28)、定时字段(31)、jdbc类型对应表名就好(33)、地址(40)、索引名和文档类型对应数据库中的数据库和表(42、44)

ElasticSearch MySQL
Index(索引) Database(数据库)
Type(类型) Table(表)
Document(文档) Row(行)
Field(属性) Column(列)
Mapping Schema
Everything is indexed Index
Query SQL

将数据库连接包 放在..\logstash-7.6.2\logstash-core\lib\jars文件夹下

进入..\logstash-7.6.2\config文件夹,修改pipelines.yml文件,将9-15的注释打开

进入..\logstash-7.6.2\bin文件夹,并通过dos打开该文件夹,在dos中通过以下指令执行数据同步

logstash.bat -f D:\install\logstash-7.6.2\logstash.conf

相关推荐
Easy_API9 小时前
2.8万亿参数,编程反超GPT-6 Astra:Kimi K3.1 Pro把开源模型推到了哪一步
大数据·人工智能·gpt·深度学习
GlobalInfo9 小时前
2026年机器人多指灵巧手市场分析报告——涵盖行业调查、趋势分析与发展前景
大数据·人工智能·microsoft·微服务·机器人
微订校园外卖平台10 小时前
校园外卖平台选模板还是定制:架构、数据流与验收清单
大数据·架构·外卖系统·本地生活·微订
Eloudy12 小时前
Qwen2.5-14B-Instruct-AWQ 模型文件结构分析
大数据·elasticsearch·搜索引擎
重生之高冷汉堡包14 小时前
跨境电商运营团队如何安全交接店铺账号?多账号权限管理指南
大数据
玩AI的奶茶15 小时前
MiniMax H3 出 30 秒长片:显存账、拼接法和一次的成本
大数据·人工智能·ai·gpu算力·算力租赁
SelectDB15 小时前
Doris Arrow Flight SQL 高速读取协议实战:与 Snowflake 客户端取数链路对照
大数据·数据库·数据分析
爱签AI电子合同15 小时前
电子合同全维度实测与选型指南
大数据·人工智能
AI办公探索者16 小时前
从SaaS到本地部署:大模型推理成本优化与8888元私有化方案的技术解析
大数据·人工智能
做运维的阿瑞16 小时前
云项目可观测性与成本治理:告警、日志、Dashboard 与预算标签
大数据·云原生·云计算·terraform