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

3、安装Logstash的plugin,mysql数据同步

2019独角兽企业重金招聘Python工程师标准一、插件安装。插件安装、卸载、更新的命令。官网:https:www.elastic.coguideenlogst

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、插件安装。

插件安装、卸载、更新的命令。

官网:https://www.elastic.co/guide/en/logstash/current/working-with-plugins.html#installing-local-plugins

1、查询已安装的插件:

Logstash发行包捆绑常见的插件,以便您可以开箱即用。可以查询当前可用的插件:

bin/logstash-plugin list 将列出所有安装的插件
bin/logstash-plugin list --verbose 将列出已安装的插件与版本信息
bin/logstash-plugin list '*namefragment*' 将列出所有安装的包含namefragment的插件
bin/logstash-plugin list --group output 将列出特定组的所有安装的插件(输入,过滤器,编解码器,输出)

2、安装插件:

线上安装插件:

bin/logstash-plugin install logstash-output-kafka

线下安装插件:

bin/logstash-plugin install /path/to/logstash-output-kafka-1.0.0.gem

3、更新插件:

bin/logstash-plugin update 更新所有已经安装的插件
bin/logstash-plugin update logstash-output-kafka 更新插件logstash-output-kafka

4、移除插件:

bin/logstash-plugin remove logstash-output-kafka 二、实现mysql数据同步。

1、安装相关插件:

input我这里使用logstash-input-jdbc插件,output使用logstash-output-jdbc插件。因为logstash自带了logstash-input-jdbc插件。所以这里只安装logstash-output-jdbc。

我这里使用线上安装:

bin/logstash-plugin install logstash-output-jdbc

1、下载插件。下载地址:https://github.com/theangryangel/logstash-output-jdbc。

2、线下安装,参考下面2个博客:

        http://blog.csdn.net/yeyuma/article/details/50240595

        https://my.oschina.net/MrYx3en/blog/508230

2、配置文件:

input {stdin { } jdbc {jdbc_driver_library => "G:/MvnRepository/mysql/mysql-connector-java/5.1.41/mysql-connector-java-5.1.41.jar"jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_connection_string => "jdbc:mysql://localhost:3306/xnc"jdbc_user => "root"jdbc_password => "123456"# or jdbc_password_filepath => "/path/to/my/password_file"# where p.update_time >= :sql_last_startstatement => "SELECT id, product_spec_id,zone_id,recorded_by,CAST(price_per_unit AS CHAR) price_per_unit,uom,latest,recording_date,create_time,update_time from price p"jdbc_paging_enabled => "true"jdbc_page_size => "50000"}
}
output {#标准输出。为了测试stdout { codec => rubydebug }jdbc {driver_class => "com.mysql.jdbc.Driver"driver_jar_path => "G:/MvnRepository/mysql/mysql-connector-java/5.1.41/mysql-connector-java-5.1.41.jar"connection_string => "jdbc:mysql://localhost:3306/xncprice"username => "root"password => "123456"statement => [ "INSERT INTO price (id, product_spec_id, zone_id,recorded_by,price_per_unit,uom,latest,recording_date,create_time,update_time) VALUES(?,?,?,?,CAST(? AS decimal),?,?,?,?,?)", "id", "product_spec_id", "zone_id", "recorded_by","price_per_unit", "uom" , "latest" , "recording_date" , "create_time" , "update_time" ]}}

3、运行。

logstash -f G:\logstash-5.5.1\config\my-logstash.conf

这里需要注意数据库类型。因为我的price_per_unit是decimal类型的,在运行之后,price_per_unit插入的数据一直是null,改了目标类型为double还是不行。解决方式有2个:

  1. 改源类型(input中price_per_unit的数据类型)为double。
  2. 查询的时候把源的decimal转换为char类型,插入目标的时候再转为decimal。(我使用这个)。

4、同步update操作。

把output使用REPLACE 语句,如果数据id重复时候,直接用后面的数据替换前面的数据。

output {#标准输出。为了测试stdout { codec => rubydebug }jdbc {driver_class => "com.mysql.jdbc.Driver"driver_jar_path => "G:/MvnRepository/mysql/mysql-connector-java/5.1.41/mysql-connector-java-5.1.41.jar"connection_string => "jdbc:mysql://localhost:3306/xncprice"username => "root"password => "123456"statement => [ "REPLACE INTO price (id, product_spec_id, zone_id,recorded_by,price_per_unit,uom,latest,recording_date,create_time,update_time) VALUES(?,?,?,?,CAST(? AS decimal),?,?,?,?,?)", "id", "product_spec_id", "zone_id", "recorded_by","price_per_unit", "uom" , "latest" , "recording_date" , "create_time" , "update_time" ]}

 

 


转:https://my.oschina.net/kunBlog/blog/1503835



推荐阅读
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 本文详细探讨了编程中的命名空间与作用域概念,包括其定义、类型以及在不同上下文中的应用。 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • 本文介绍了如何通过安装和配置php_uploadprogress扩展来实现文件上传时的进度条显示功能。通过一个简单的示例,详细解释了从安装扩展到编写具体代码的全过程。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 使用Python构建网页版图像编辑器
    本文详细介绍了一款基于Python开发的网页版图像编辑工具,具备多种图像处理功能,如黑白转换、铅笔素描效果等。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 我在尝试将组合框转换为具有自动完成功能时遇到了一个问题,即页面上的列表框也被转换成了自动完成下拉框,而不是保持原有的多选列表框形式。 ... [详细]
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • Maven快照版本管理及更新策略详解
    本文深入探讨了Maven中的快照版本管理和更新策略,解释了快照版本与正式版本的区别,并提供了如何配置快照更新策略的方法,以确保项目依赖始终保持最新。 ... [详细]
  • Java连接MySQL数据库的方法及测试示例
    本文详细介绍了如何安装MySQL数据库,并通过Java编程语言实现与MySQL数据库的连接,包括环境搭建、数据库创建以及简单的查询操作。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
author-avatar
Lv嘉文_246
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有